9.6 C
New York

Utilisez votre propre domaine utilisateur @ pour la découverte de Mastodon avec le protocole WebFinger sans héberger de serveur



Mastodon est un service de réseau social open supply gratuit, décentralisé et distribué. Il a été créé en 2016 comme une various aux plateformes de médias sociaux centralisées telles que Twitter et Fb.

L’une des principales caractéristiques de Mastodon est l’utilisation du protocole WebFinger, qui permet aux utilisateurs de découvrir et d’accéder à des informations sur d’autres utilisateurs du réseau Mastodon. WebFinger est un protocole HTTP easy qui permet à un utilisateur de découvrir des informations sur d’autres utilisateurs ou ressources sur Web en utilisant son adresse e-mail ou d’autres informations d’identification. Le protocole WebFinger est essential pour Mastodon automobile il permet aux utilisateurs de se retrouver et de se suivre sur le réseau, quel que soit l’endroit où ils sont hébergés.

WebFinger utilise une construction de chemin « bien connue » lors de l’appel d’un domaine. Vous connaissez peut-être la conference robots.txt. Nous sommes tous d’accord sur le fait que robots.txt sera placé en haut du chemin du domaine de chacun.

Le protocole WebFinger est un protocole HTTP easy qui permet à un utilisateur ou à une recherche de découvrir des informations sur d’autres utilisateurs ou ressources sur Web en utilisant leur adresse e-mail ou d’autres informations d’identification. Mon prénom et mon nom de famille .com, donc… mon level de terminaison personnel de l’API WebFinger est ici https://www.hanselman.com/.well-known/webfinger

L’idée est que…

  1. Un utilisateur envoie une requête WebFinger à un serveur, en utilisant l’adresse e-mail ou d’autres informations d’identification de l’utilisateur ou de la ressource qu’il essaie de découvrir.

  2. Le serveur recherche les informations demandées dans sa base de données et renvoie un objet JSON contenant les informations sur l’utilisateur ou la ressource. Cet objet JSON est appelé « descripteur de ressource ».

  3. Le consumer de l’utilisateur reçoit le descripteur de ressource et affiche les informations à l’utilisateur.

Le descripteur de ressource contient divers varieties d’informations sur l’utilisateur ou la ressource, telles que son nom, sa picture de profil et des liens vers ses comptes de médias sociaux ou d’autres ressources en ligne. Il peut également inclure d’autres varieties d’informations, telles que la clé publique de l’utilisateur, qui peuvent être utilisées pour établir une connexion sécurisée avec l’utilisateur.

Il y a un glorious explicateur ici aussi. À partir de cette web page :

Lorsque quelqu’un vous recherche sur Mastodon, votre serveur sera interrogé sur les comptes utilisant un level de terminaison qui ressemble à ceci :

OBTENIR https://${MASTODON_DOMAIN}/.well-known/webfinger?useful resource=acct:${MASTODON_USER}@${MASTODON_DOMAIN}

Notez que les noms d’utilisateurs Mastodon commencent par @ donc ils sont @username@someserver.com. Tout comme twiter serait @shanselman@twitter.com Je peux être @shanselman@hanselman.com maintenant !

Me chercher avec Mastodon

Alors peut être https://www.hanselman.com/.well-known/webfinger?useful resource=acct:FRED@HANSELMAN.COM

Le mien revient

{
"topic":"acct:shanselman@hachyderm.io",
"aliases":
(
"https://hachyderm.io/@shanselman",
"https://hachyderm.io/customers/shanselman"
),
"hyperlinks":
(
{
"rel":"http://webfinger.internet/rel/profile-page",
"kind":"textual content/html",
"href":"https://hachyderm.io/@shanselman"
},
{
"rel":"self",
"kind":"utility/exercise+json",
"href":"https://hachyderm.io/customers/shanselman"
},
{
"rel":"http://ostatus.org/schema/1.0/subscribe",
"template":"https://hachyderm.io/authorize_interaction?uri={uri}"
}
)
}

Ce fichier doit être renvoyé sous la forme d’un kind mime de utility/jrd+json

Mon website est un website ASP.NET Razor Pages, donc je viens de le faire dans Startup.cs pour mapper cette URL bien connue à une web page/route qui renvoie le JSON nécessaire.

companies.AddRazorPages().AddRazorPagesOptions(choices =>
{
choices.Conventions.AddPageRoute("/robotstxt", "/Robots.Txt"); //i did this earlier than, not wanted
choices.Conventions.AddPageRoute("/webfinger", "/.well-known/webfinger");
choices.Conventions.AddPageRoute("/webfinger", "/.well-known/webfinger/{val?}");
});

puis j’ai fait un webfinger.cshtml comme celui-ci. Notez que je dois double échapper les websites @@ automobile c’est Razor.

@web page
@{
Structure = null;
this.Response.ContentType = "utility/jrd+json";
}
{
"topic":"acct:shanselman@hachyderm.io",
"aliases":
(
"https://hachyderm.io/@@shanselman",
"https://hachyderm.io/customers/shanselman"
),
"hyperlinks":
(
{
"rel":"http://webfinger.internet/rel/profile-page",
"kind":"textual content/html",
"href":"https://hachyderm.io/@@shanselman"
},
{
"rel":"self",
"kind":"utility/exercise+json",
"href":"https://hachyderm.io/customers/shanselman"
},
{
"rel":"http://ostatus.org/schema/1.0/subscribe",
"template":"https://hachyderm.io/authorize_interaction?uri={uri}"
}
)
}

Il s’agit d’une réponse statique, mais si j’hébergeais des pages pour plusieurs personnes, je voudrais saisir l’URL avec le nom de l’utilisateur, puis la mapper à leurs alias et les renvoyer correctement.

Encore plus easy, vous pouvez simplement utiliser le fichier JSON de la réponse webfinger de votre propre serveur Mastodon et l’ENREGISTRER en tant que fichier json statique et le copier sur votre propre serveur !

Tant que votre serveur renvoie le bon JSON à partir de cette URL bien connue, cela fonctionnera.

Alors ceci est mon modèle https://hachyderm.io/.well-known/webfinger?useful resource=acct:shanselman@hachyderm.io d’où je suis hébergé maintenant.

Si vous voulez commencer avec Mastodon, commencez ici. https://github.com/joyeusenoelle/GuideToMastodon/ cela ressemble à Twitter vers 2007, sauf qu’il n’appartient à personne et qu’il est basé sur des normes Net comme ActivityPub.

J’espère que cela t’aides!




À propos de Scott

Scott Hanselman est un ancien professeur, ancien architecte en chef en finance, maintenant conférencier, guide, père, diabétique et employé de Microsoft. C’est un comique raté, un cornrower et un auteur de livres.

Facebook
Twitter
s'abonner
À propos Bulletin

Hébergement par
Hébergé dans un Azure App Service










Related Articles

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Latest Articles