web-sign-in: Difference between revisions
(→example implementations: direct link to iwc.c) |
(→example implementations: relmeauth demo needs an update, prefer IndieLogin as a service to IndieAuth, link to indieweb-org) |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:Web sign-in}} | |||
Use the (Web sign-in) button on a site to sign-in with your personal web address. | Use the (Web sign-in) button on a site to sign-in with your personal web address. | ||
Line 23: | Line 23: | ||
Your personal site must be set up for web sign-in. | Your personal site must be set up for web sign-in. | ||
# Link from your personal site to your other profiles. Add <code>rel="me"</code> to those hyperlinks. E.g.: <blockquote style="white-space:nowrap"><code><a <strong>rel="me"</strong> <nowiki>href=" | # Link from your personal site to your other profiles. Add <code>rel="me"</code> to those hyperlinks. E.g.: <blockquote style="white-space:nowrap"><code><a <strong>rel="me"</strong> <nowiki>href="https://github.com/your_github_alias">...</nowiki></code></blockquote> | ||
# Edit your other profiles, e.g. your [https:// | # Edit your other profiles, e.g. your [https://github.com/ GitHub] profile, and set link (🔗) text field to your personal web address. E.g. <blockquote style="white-space:nowrap">🔗 <span style="border:1px solid silver; padding:5px; margin-left:1em"><nowiki>https://yoursite.example.com/</nowiki></span></blockquote> | ||
# When you use your personal site with web sign-in the first time, your browser will redirect you to to your online profile, e.g. | # When you use your personal site with web sign-in the first time[[#subsequent|*]], your browser will redirect you to to your online profile, e.g. GitHub, and ask you to: | ||
#* Sign-in with your account on that profile (e.g. sign in to | #* Sign-in with your account on that profile (e.g. sign in to GitHub) if you're not already signed-in. | ||
#* Authorize the site to use your account, e.g. your | #* Authorize the site to use your account, e.g. your GitHub account: <blockquote><p>Authorize Site to use your account?<!-- Replace this with the GitHub OAuth text: </p><p>This application will be able to:</p><ul><li>Read Tweets from your timeline.</li><li>See who you follow.</li></ul><p>( Sign In )</p></blockquote> Click the <b>( Sign In )</b> button and you should be all set.--> | ||
<nowiki>*</nowiki> <span id="subsequent">Subsequent</span> sign-ins to the same web sign-in form should be pre-filled with your domain name (e.g. via a cookie from the site) so all you have to do is click (Sign-in). In addition, if the site is properly using HTML5 <code><input type=url></code>, browsers will help you auto-complete your personal web address for you across all sites that do web sign-in. | |||
== developers == | == developers == | ||
See the [[RelMeAuth]] page for documentation on how to support Web sign-in on your site. | === user interface === | ||
For the Web sign-in UI, see the text mockups at the top of this page as a design starting point. | |||
Important details: | |||
* The web address input "[........................]" MUST accept | |||
** a "plain domain" e.g. tantek.com and canonicalize that to https://tantek.com/ | |||
** an https domain without a path e.g. https://sixtwothree.org and canonicalize to https://sixtwothree.org/ | |||
=== protocol === | |||
See the [[RelMeAuth]] page for documentation on how to support Web sign-in protocol on your site. | |||
=== example implementations === | === example implementations === | ||
* [http://tantek.com/relmeauth/ RelMeAuth prototype] demonstrates Web sign-in for both read-only/read-write permissions, and provides a simple interface for Tweeting when read-write permissions are provided. | <!-- Needs updating to GitHub: * [http://tantek.com/relmeauth/ RelMeAuth prototype] demonstrates Web sign-in for both read-only/read-write permissions, and provides a simple interface for Tweeting when read-write permissions are provided. --> | ||
* [ | * [https://indielogin.com IndieLogin] not only uses Web sign-in but also provides a [https://indielogin.com/api web sign-in authentication API]! | ||
** | ** IndieWeb: Try out IndieLogin by signing-in to [https://indieweb.org IndieWeb.org]. | ||
== why == | |||
See [http://indiewebcamp.com/Why_web_sign-in Why web sign-in] on the IndieWebCamp site. |
Latest revision as of 00:00, 4 June 2025
Use the (Web sign-in) button on a site to sign-in with your personal web address.
When you click a (Web sign-in) button, the site will ask you for your web address, e.g.:
Web address: [........................] (Sign-in)
Web address:
[........................]
(Sign-in)
Enter your personal web address and press return / click (Sign-in).
set up
Your personal site must be set up for web sign-in.
- Link from your personal site to your other profiles. Add
rel="me"
to those hyperlinks. E.g.:<a rel="me" href="https://github.com/your_github_alias">...
- Edit your other profiles, e.g. your GitHub profile, and set link (🔗) text field to your personal web address. E.g.
🔗 https://yoursite.example.com/
- When you use your personal site with web sign-in the first time*, your browser will redirect you to to your online profile, e.g. GitHub, and ask you to:
- Sign-in with your account on that profile (e.g. sign in to GitHub) if you're not already signed-in.
- Authorize the site to use your account, e.g. your GitHub account:
Authorize Site to use your account?
* Subsequent sign-ins to the same web sign-in form should be pre-filled with your domain name (e.g. via a cookie from the site) so all you have to do is click (Sign-in). In addition, if the site is properly using HTML5 <input type=url>
, browsers will help you auto-complete your personal web address for you across all sites that do web sign-in.
developers
user interface
For the Web sign-in UI, see the text mockups at the top of this page as a design starting point.
Important details:
- The web address input "[........................]" MUST accept
- a "plain domain" e.g. tantek.com and canonicalize that to https://tantek.com/
- an https domain without a path e.g. https://sixtwothree.org and canonicalize to https://sixtwothree.org/
protocol
See the RelMeAuth page for documentation on how to support Web sign-in protocol on your site.
example implementations
- IndieLogin not only uses Web sign-in but also provides a web sign-in authentication API!
- IndieWeb: Try out IndieLogin by signing-in to IndieWeb.org.
why
See Why web sign-in on the IndieWebCamp site.