<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>links.lmorchard.com - #auth</title>
    <link>/tags/auth/</link>
    <description>Recent bookmarks tagged #auth</description>
    <lastBuildDate>Mon, 02 Nov 2026 08:24:48 +0000</lastBuildDate>
    <item>
      <title>Custom OIDC providers · Tailscale Docs</title>
      <link>https://tailscale.com/kb/1240/sso-custom-oidc</link>
      <description>Tailscale can integrate with identity providers that support OpenID Connect (OIDC). The steps provided in this topic are required only for initial creation of a tailnet. After the signup process is completed, Tailscale will work like any other supported identity provider. For more information about OIDC, refer to Welcome to OpenID Connect.&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #admin #auth #oidc #sso #tailscale&lt;/p&gt;</description>
      <pubDate>Tue, 28 Oct 2025 21:30:35 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:37890</guid>
      <category>admin</category>
      <category>auth</category>
      <category>oidc</category>
      <category>sso</category>
      <category>tailscale</category>
    </item>
    <item>
      <title>Integrate with Tailscale | authentik</title>
      <link>https://integrations.goauthentik.io/networking/tailscale/</link>
      <description>Tailscale requires a properly configured WebFinger endpoint at .well-known/webfinger on the domain used for your email. Set this up according to your web server or application specifications.&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #admin #auth #authentik #sso #tailscale&lt;/p&gt;</description>
      <pubDate>Tue, 28 Oct 2025 21:29:49 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:37889</guid>
      <category>admin</category>
      <category>auth</category>
      <category>authentik</category>
      <category>sso</category>
      <category>tailscale</category>
    </item>
    <item>
      <title>Using your self-hosted Authentik as an Identity Provider for Tailscale</title>
      <link>https://blog.antsu.net/custom-tailscale-oidc-provider-with-authentik/</link>
      <description>Another cool thing about Tailscale is that they try to keep as little information about their users as possible, and so do not have their own login mechanism, instead leaving this task to common authentication providers like Google and Microsoft, or allowing the use of any identity provider compatible with OpenID Connect, which is the case for Authentik, and the topic of this post.&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #authentik #oidc #sysadmin #tailsale&lt;/p&gt;</description>
      <pubDate>Tue, 28 Oct 2025 21:26:39 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:37888</guid>
      <category>auth</category>
      <category>authentik</category>
      <category>oidc</category>
      <category>sysadmin</category>
      <category>tailsale</category>
    </item>
    <item>
      <title>Pocket ID</title>
      <link>https://pocket-id.org/</link>
      <description>Pocket ID is a simple and easy-to-use OIDC provider that allows users to authenticate with their passkeys to your services.&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #homelab #oidc #pocketid&lt;/p&gt;</description>
      <pubDate>Thu, 27 Mar 2025 00:13:27 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:29601</guid>
      <category>auth</category>
      <category>homelab</category>
      <category>oidc</category>
      <category>pocketid</category>
    </item>
    <item>
      <title>lastlogin-net/obligator: Simple and opinionated OpenID Connect server designed for self-hosters</title>
      <link>https://github.com/lastlogin-net/obligator</link>
      <description>Simple and opinionated OpenID Connect server designed for self-hosters&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #oidc #openid #webdev&lt;/p&gt;</description>
      <pubDate>Sat, 15 Feb 2025 19:22:28 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:29663</guid>
      <category>auth</category>
      <category>oidc</category>
      <category>openid</category>
      <category>webdev</category>
      <enclosure url="https://links.lmorchard.com/static/a3611aacedcb660ce9ed282a06b3dd77.png" type="image/png"></enclosure>
    </item>
    <item>
      <title>Introduction | Better Auth</title>
      <link>https://www.better-auth.com/docs/introduction</link>
      <description>Better Auth is framework-agnostic authentication (and authorization) framework for TypeScript. It provides a comprehensive set of features out of the box and includes a plugin ecosystem that simplifies adding advanced functionalities. Whether you need 2FA, multi-tenant support, or other auth releated features. It lets you focus on building your actual application instead of reinventing the wheel.&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #typescript #webdev&lt;/p&gt;</description>
      <pubDate>Fri, 29 Nov 2024 19:50:39 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:29792</guid>
      <category>auth</category>
      <category>typescript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Passwordless - A node.js/express module for token-based logins</title>
      <link>https://passwordless.net/</link>
      <description>Passwords are broken. Inspired by Justin Balthrop&#39;s article Passwords are Obsolete token-based one-time password (OTPW) authentication is faster to deploy, better for your users, and more secure.&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #authentication #imported:pinboard #nodejs #security&lt;/p&gt;</description>
      <pubDate>Sun, 19 Oct 2014 03:34:06 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:31760</guid>
      <category>auth</category>
      <category>authentication</category>
      <category>imported:pinboard</category>
      <category>nodejs</category>
      <category>security</category>
    </item>
    <item>
      <title>Passwordless - A node.js/express module for token-based logins</title>
      <link>https://passwordless.net</link>
      <description>Passwords are broken. Inspired by Justin Balthrop&#39;s article Passwords are Obsolete token-based one-time password (OTPW) authentication is faster to deploy, better for your users, and more secure.&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #authentication #nodejs #security&lt;/p&gt;</description>
      <pubDate>Sun, 19 Oct 2014 03:34:06 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:25233</guid>
      <category>auth</category>
      <category>authentication</category>
      <category>nodejs</category>
      <category>security</category>
    </item>
    <item>
      <title>Python Twitter + django-social-auth == Hello New User</title>
      <link>http://atodorov.org/blog/2013/03/07/python-twitter-django-social-auth-hello-new-user/</link>
      <description>This will post a new tweet on behalf of the user, telling everyone they joined your website!&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #imported:pinboard #python #twitter #webdev&lt;/p&gt;</description>
      <pubDate>Fri, 04 Apr 2014 21:23:53 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:31963</guid>
      <category>auth</category>
      <category>imported:pinboard</category>
      <category>python</category>
      <category>twitter</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Python Twitter + django-social-auth == Hello New User</title>
      <link>http://atodorov.org/blog/2013/03/07/python-twitter-django-social-auth-hello-new-user</link>
      <description>This will post a new tweet on behalf of the user, telling everyone they joined your website!&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #python #twitter #webdev&lt;/p&gt;</description>
      <pubDate>Fri, 04 Apr 2014 21:23:53 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:24695</guid>
      <category>auth</category>
      <category>python</category>
      <category>twitter</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Cross-client Identity - Google Accounts Authentication and Authorization — Google Developers</title>
      <link>https://developers.google.com/accounts/docs/CrossClientAuth</link>
      <description>When developers build software, it routinely includes modules that run on a Web server, other modules that run in the browser, and others that run as native mobile apps. Both developers and the people who use their software typically think of all these modules as part of a single app.&#xD;&#xA;&#xD;&#xA;Google’s OAuth2 implementation supports this view of the world&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #gluecon #google #identity #imported:pinboard&lt;/p&gt;</description>
      <pubDate>Thu, 23 May 2013 14:57:37 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:23689</guid>
      <category>auth</category>
      <category>gluecon</category>
      <category>google</category>
      <category>identity</category>
      <category>imported:pinboard</category>
    </item>
    <item>
      <title>Secure Your REST API... The Right Way | Stormpath</title>
      <link>http://www.stormpath.com/blog/secure-your-rest-api-right-way</link>
      <description>We already showed you how to build a Beautiful REST+JSON API, but how do you secure your API?  At Stormpath we spent 18 months researching best practices, implementing them in the Stormpath API, and figuring out what works. Here’s our playbook on how to secure a REST API.&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #apis #auth #gluecon #imported:pinboard #rest #security #services&lt;/p&gt;</description>
      <pubDate>Thu, 23 May 2013 00:21:25 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:23678</guid>
      <category>apis</category>
      <category>auth</category>
      <category>gluecon</category>
      <category>imported:pinboard</category>
      <category>rest</category>
      <category>security</category>
      <category>services</category>
    </item>
    <item>
      <title>gbraad/html5-google-authenticator</title>
      <link>https://github.com/gbraad/html5-google-authenticator</link>
      <description>A simple Google Authenticator app written in HTML&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #authentication #google #html5 #imported:pinboard #security #webdev&lt;/p&gt;</description>
      <pubDate>Mon, 01 Oct 2012 18:00:09 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:22645</guid>
      <category>auth</category>
      <category>authentication</category>
      <category>google</category>
      <category>html5</category>
      <category>imported:pinboard</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Introducing django-lazysignup — Stereoplex</title>
      <link>http://www.stereoplex.com/blog/introducing-django-lazysignup</link>
      <description>So I started wondering - what if we just created a real user for every person who visited the site? Django already has support for creating users with unusable passwords - so if we just create a user with an unusable password every time a new person comes along, log them in, and then at some future point (presumably once they&#39;ve fallen in love with your site) they can set themselves up with a real username and password. And as a bonus, all that data that they created while messing about with the site sticks around, and carries over into their &#39;real&#39; user.&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #authentication #django #imported:pinboard #lazuser #webdev&lt;/p&gt;</description>
      <pubDate>Wed, 08 Aug 2012 21:10:22 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:22410</guid>
      <category>auth</category>
      <category>authentication</category>
      <category>django</category>
      <category>imported:pinboard</category>
      <category>lazuser</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Django snippets: Support alternative authentication mechanisms with Piston</title>
      <link>http://djangosnippets.org/snippets/1871</link>
      <description>&#34;This snippet for Piston allows you to offer a choice of authentication methods to clients.&#34;&lt;br/&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #auth #basic #django #http #oauth #piston #webdev&lt;/p&gt;</description>
      <pubDate>Fri, 03 Sep 2010 17:51:34 +0000</pubDate>
      <guid isPermaLink="false">linkding-ssg:bookmark:14077</guid>
      <category>auth</category>
      <category>basic</category>
      <category>django</category>
      <category>http</category>
      <category>oauth</category>
      <category>piston</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
