pfefferle / wordpress-webfinger Goto Github PK
View Code? Open in Web Editor NEWA WebFinger plugin for WordPress
Home Page: https://wordpress.org/plugins/webfinger/
License: MIT License
A WebFinger plugin for WordPress
Home Page: https://wordpress.org/plugins/webfinger/
License: MIT License
The plugin currently allows additional WebFinger aliases to be returned for a user, but there is no way to support WebFinger queries for those additional aliases. We should add a filter that provides an extension point for this.
https://shlee.fedipress.au/.well-known/webfinger?resource=acct:[email protected]
Can we remove the email? It ain't required.
Right now, the plugin assumes that all WebFinger queries are for users. This is probably fine for now, but it's worth noting that the WebFinger spec itself provides an example where the query is for a webpage: http://tools.ietf.org/html/rfc7033#section-3.2
I think it's actually fine to consider this out of scope for now (though it wouldn't take too much work to remedy this), but I wanted to at least track it here.
Implement an action that allows redirecting resources to other urls
I think a simple action like do_action("webfinger_pre_render", $resource)
would be a nice start.
Receiving:
The plugin does not have a valid header
https://XXXXX/wp-admin/plugins.php?_wpnonce=27be6c5bac&action=activate&plugin=webfinger/trunk/webfinger.php
When attempting to activate the plugin.
From the following URI:
https://XXXXX/wp-admin/admin.php?page=ostatus-dependencies
Yet WebFinger does look like it's getting activated:
i have my wordpress blog installed in a subdomain like this: http://username.altervista.org/wordpress/
The auto-generated link "Users" tab does not seems to work, i guess i need some kind of redirection from the top-domain?
EDIT: i've tried setting a redirection via the .htaccess
file as described here, but still not working according to this lookup service:
01:41:49 Looking up WebFinger data for acct:@[email protected]
01:41:49 GET https://username%40username.altervista.org/.well-known/webfinger?resource=acct%3A%40username%40username.altervista.org
01:41:49 Error getting JRD: parse https://username%40username.altervista.org/.well-known/webfinger?resource=acct%3A%40username%40username.altervista.org: invalid URL escape "%40"
The plugin currently filters out any mailto and xmpp URIs that have a hostname different that the WordPress site. I think this is a mistake. There's nothing at all wrong with a WebFinger server returning URIs that have a different authority; it's entirely up to the WebFinger client to decide if it will accept that identifier. This is the principal of WebFinger delegation, for example with WebFist.
I am trying to use the activity pub Wordpress plugin to integrate my blog to mastodon. This plugin requested the installation of the webfinger plugin.
At the moment, I am not being able to actually connect to my blog from mastodon. On Wordpress "health status page", I have:
Your WebFinger endpoint https://www.mattos.eng.br/.well-known/webfinger?resource=acct:[email protected] is not accessible. Please check your WordPress setup or permalink structure.
I don't have any idea how to solve this. Could you please give some directions?
Thanks in advance.
The Spec allows multiple rel-values to filter the jrd-output and the code only checks for one.
currently, the plugin always returns whatever resource URI was included in the WebFinger query as the subject. While this is not necessarily wrong, I think it would be better to have a consistent "primary" identifier that is always returned as the subject, and then include all the others as aliases. I would propose using the acct URI as the subject, but still provide a filter for overriding that.
"published": "1995-01-16T10:01:00Z",
Yep, that is the date of my first blog post (long before cafeLog, b2evo, and Wordpress).
https://stevenjaycohen.com/1995/01/16/what-i-ask/
I would like the option to set ActivityPub to the date of the first blog post. It does pick up the total number of blog posts, but to truly represent that correctly, it should have the option to correctly identify the span of time within which those posts occured.
Arguably it is more factually accurate to say that this instance has existed since 1995 than it is to say that 28 years of content has been created since connecting the site to the Fediverse.
I am not asking that this be a default, but a switch within the plugin. I can see the logic for the current behavior as well. I am just making the argument for historical accuracy :)
The spec has changed several times over the last few month and I think it is important to refactor the whole plugin if it is finished.
TODO:
Hello,
I manage a multisite (subdirectories variant) install where each user of the network has a specific subsite as their primary blog (meta_key 'primary_blog' in wp_usermeta).
I would like a way to make the webfinger plugin only provide this primary blog, not the "main" site, in the user profile.
How can I do this?
If developing is involved, I may be able to try and provide a branch, but I would need a few pointers for where in the code to look.
It seems, that the webfinger-plugin doesn't work on my wordpress-sites. I dont't get any results if I'm trying to enter several URL's:
https://admin.regenpfeifer.net/webfinger
https://admin.regenpfeifer.net/webfinger?resource=acct:[email protected]
https://admin.regenpfeifer.net/wp-json/webfinger
https://admin.regenpfeifer.net/wp-json/webfinger?resource=acct:[email protected]
https://admin.regenpfeifer.net/.well-known/webfinger
https://admin.regenpfeifer.net/.well-known/webfinger?resource=acct:[email protected]
In any case I'm getting error-messages like this one:
code | "rest_no_route"
message | "Es wurde keine Route gefunden, die mit der URL und der Request-Methode identisch ist."
data |
status | 404
Are there any additional settings I have to provide in order to get sensible results?
Thank you very much!
Hi,
Looking at my web request logs, I saw this request being made when I search for myself in Pleroma:
$ curl -v 'https://my.blog/.well-known/[email protected]&format=xrd'
...
...
< HTTP/2 404
< server: nginx/1.13.12
< date: Sat, 03 Nov 2018 01:26:10 GMT
< content-type: text/plain; charset=UTF-8
...
...
no data for resource "[email protected]" found
Adding acct:
prefix, this works:
$ curl -v 'https://my.blog/.well-known/webfinger?resource=acct:[email protected]&format=xrd' | head -n1
...
...
< HTTP/2 200
< server: nginx/1.13.12
< date: Sat, 03 Nov 2018 01:25:14 GMT
< content-type: application/xrd+xml; charset=UTF-8
...
...
<?xml version="1.0" encoding="UTF-8"?>
This commit: 04e23e0 sounds like it was meant to solve this (though I'm not sure how); however I've verified the local version includes those changes, but nothing improved.
I suppose get_user_by_uri
should be patched? This hack is ugly and probably wrong, but I've opted to pretend that whatever URI is provided is likely an acct
email address:
if ( ! preg_match( '/^([a-zA-Z^:]+):(.*)$/i', $uri, $match ) ) {
// no valid scheme provided
$match = array(
'',
'acct',
$uri);
}
This seems to have worked.
I installed the plugin on my server, expecting to find a settings page or something, where I can enter the respective relations to return for email addresses. Unfortunately the plugin has no settings page at all, and the instructions are not helpful to me either.
How or where can I specify anything JRD related? Where am I supposed to put the code that the instructions mention for "extending the JRD file"? The wordpress admin backend does not have a way to just specify arbitrary code to be run as far as I'm aware.
Sorry I'm a total Wordpress noob and I'm just trying to use this plugin so that tailscale can find our Keycloak server which runs on a different domain from our company emails.
(Also I know that this isn't really an "Issue", but this project doesn't use the "Discussions" feature and I don't know where else to ask).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.