<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/oauth/best-of/2024" -->

---
title: Best OAuth posts of 2024 | daily.dev
description: The most upvoted OAuth posts of 2024, curated by the daily.dev community.
canonical: https://daily.dev/tags/oauth/best-of/2024
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/oauth/best-of/2024
og:type: website
og:site_name: daily.dev
og:title: Best OAuth posts of 2024 | daily.dev
og:description: The most upvoted OAuth posts of 2024, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of OAuth — 2024

1. 1  
[](/posts/better-auth-mlybduwgh "Better Auth")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Better Auth  
Supports popular frontend, backend, and meta frameworks like React, Vue, Svelte, and more. Provides secure email and password authentication, multiple OAuth providers for social sign-on, built-in two-factor authentication, and tools for managing user access. Extend functionality via official and community plugins.  
301  
8
2. 2  
[](/posts/oauth-2-0-flows-explained-in-gifs-beqiosycs "🔑 OAuth 2.0 flows explained in GIFs")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
🔑 OAuth 2.0 flows explained in GIFs  
This post explains OAuth 2.0 flows using GIFs. It covers the terminologies, the Authorization Code Grant flow, and other flows in OAuth 2.0.  
247  
5
3. 3  
[](/posts/understanding-jwt-oauth-and-bearer-tokens-8cuqxswdw "Understanding JWT, OAuth, and Bearer tokens")  
Article  
![Avatar of logrocket](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/logrocket)LogRocket · 2y  
Understanding JWT, OAuth, and Bearer tokens  
In the digital world, authentication and authorization are essential for secure access to online services. JWTs (JSON Web Tokens), OAuth, and Bearer tokens play crucial roles in ensuring security. JWTs are tamper-proof tokens composed of three parts: header, payload, and signature, used for securely transmitting information. OAuth typically utilizes JWTs to transport user information securely. Bearer tokens, included in HTTP headers, authenticate users for accessing protected resources. Understanding these concepts helps improve web security.  
244  
5
4. 4  
[](/posts/understanding-web-authentication-xd6knj11y "Understanding Web Authentication")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 2y  
Understanding Web Authentication  
Website authentication is crucial for ensuring users are who they claim to be, guarding sensitive information, and maintaining trust. Various authentication methods include password-based, multi-factor, biometric, token-based, and certificate-based authentication. Additionally, common protocols such as OAuth 2.0, OpenID Connect, SAML, and LDAP are used to manage authentication processes securely. Effective implementation involves choosing the right method for user experience and security, integrating both frontend and backend properly, and adhering to security best practices. Balancing security with usability and using adaptive authentication can further enhance security measures.  
211  
4
5. 5  
[](/posts/best-practices-for-storing-access-tokens-in-the-browser-y0w9frdpk "Best Practices for Storing Access Tokens in the Browser")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Best Practices for Storing Access Tokens in the Browser  
Web applications often use OAuth 2.0 for data security, which involves storing access tokens. This piece examines various browser storage solutions like local storage, session storage, and cookies, highlighting their vulnerabilities to XSS and CSRF attacks. The token handler pattern is recommended for enhancing security, suggesting encrypted tokens stored in secure cookies and managed by backend components.  
159  
5
6. 6  
[](/posts/next-js-and-next-auth-v5-guide-to-social-logins-oauth--gupp1hbuo "Next.js and Next-Auth V5: Guide to Social Logins(OAuth)")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Next.js and Next-Auth V5: Guide to Social Logins(OAuth)  
Learn how to set up authentication using OAuth providers like Google and GitHub in Next.js using Next-Auth V5.  
130  
15
7. 7  
[](/posts/casdoor-an-open-source-ui-first-identity-and-access-management-iam-single-sign-on-sso-platfo-ns9whu43c "Casdoor · An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform with web UI supporting OAuth 2.0, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, RADIUS, Googl")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Casdoor · An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform with web UI supporting OAuth 2.0, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, RADIUS, Googl  
Casdoor is a UI-first Identity and Access Management (IAM) and Single-Sign-On (SSO) platform. It supports multiple authentication protocols including OAuth 2.0, OIDC, SAML, and others. Casdoor offers a frontend-backend separation architecture, multi-language support, and easy setup. It also supports third-party application login and direct sign up, making it a versatile tool for authentication needs in various projects.  
80  
2
8. 8  
[](/posts/building-a-google-drive-downloader-in-golang-part-2--zskbmpdsm "Building a Google Drive Downloader in Golang (Part 2)")  
Article  
![Avatar of evolvedev](https://media.daily.dev/image/upload/s--A__Xyjk7--/f_auto/v1727084454/squads/388bce1a-74c7-4271-809b-56aae71ec154)evolvedev · 2y  
Building a Google Drive Downloader in Golang (Part 2)  
Part 2 of the tutorial explores core features of a Google Drive downloader in Go, focusing on handling multiple concurrent downloads, updating progress in real-time, and managing cancellations. To fully benefit, refer to Part 1 for foundational setup including Google OAuth integration.  
51
9. 9  
[](/posts/authentication-and-authorization-enhancements-in-net-9-0-zadhkrhqz "Authentication and Authorization Enhancements in .NET 9.0")  
Article  
![Avatar of auth0](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/6510ffa7350449618fbacdddae663b82)Auth0 · 2y  
Authentication and Authorization Enhancements in .NET 9.0  
NET 9 includes various enhancements for authentication and authorization, focusing on cloud-native development and performance. Key features include support for Pushed Authorization Requests (PAR) to enhance security in OAuth 2.0 and OpenID Connect environments, simplified methods for adding custom OAuth/OIDC parameters, configuration flags for Windows Authentication under HTTP.sys, and methods to serialize authentication states in Blazor Web Apps. These updates aim to simplify developers' tasks, improve security, and reduce potential bugs.  
47
10. 10  
[](/posts/auth-js-adoption-guide-overview-examples-and-alternatives-o9zxm5rtk "Auth.js adoption guide: Overview, examples, and alternatives")  
Article  
![Avatar of logrocket](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/logrocket)LogRocket · 2y  
Auth.js adoption guide: Overview, examples, and alternatives  
Auth.js simplifies the implementation of user authentication in web applications, supporting various strategies like OAuth and SSO. Originally called NextAuth, it was redesigned to work not just with Next.js but various JavaScript frameworks. With built-in support for numerous databases, Auth.js handles essential functionalities such as user registration, login, and session management. Despite its learning curve and some criticisms, it remains a comprehensive solution for secure authentication. The guide provides a step-by-step tutorial to set up Auth.js in a Next.js project and demonstrates its customization capabilities.  
47
11. 11  
[](/posts/post-only-let-s-end-this-absurd-api-design-debate-3sniy7oa7 "POST only? Let's end this absurd API design debate")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 2y  
POST only? Let's end this absurd API design debate  
Addressing the debate on 'POST only' APIs, the post explains the misconceptions about POST-only designs, distinguishing between HTTP methods and API design styles. It highlights the principles of effective API design and compares RESTful and RPC API styles, emphasizing the appropriate scenarios for each. REST focuses on resources and standard operations, making it ideal for web services; RPC simplifies remote calls to resemble local function calls, suitable for internal services or complex operations. The ultimate goal should be clear, consistent, and efficient API design tailored to specific project needs.  
40
12. 12  
[](/posts/4-api-security-best-practices-gwxgqreaj "4 API Security Best Practices")  
Article  
![Avatar of newstack](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/newstack)The New Stack · 2y  
4 API Security Best Practices  
APIs are crucial to modern digital solutions, making API security a top priority. Key points include utilizing an API gateway to enforce policies and secure endpoints with HTTPS, and using access tokens like JWTs for robust authorization. These measures help mitigate common risks such as broken object-level authorization and unrestricted resource consumption. Implementing OAuth or OpenID Connect can enhance security further by centralizing the management of access tokens.  
37
13. 13  
[](/posts/oauth-vs-jwt-differences-in-application-authentication-and-authorization-rndmqad5j "OAuth vs. JWT: Differences in Application Authentication and Authorization")  
Article  
![Avatar of permitio](https://media.daily.dev/image/upload/s--f7Qc9FEp--/f_auto/v1709632968/squads/permitio)Permit.io · 3y  
OAuth vs. JWT: Differences in Application Authentication and Authorization  
Explore the differences between OAuth and JWT in web app security and their importance in modern web development.  
36
14. 14  
[](/posts/stack-auth-dizn6oigo "Stack Auth")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
Stack Auth  
The post explains OAuth from first principles by progressively improving a flawed implementation and addressing various security attacks. It takes a user from initial insecure methods of third-party app authorization to the secure OAuth 2.0 authorization code flow with PKCE. Real-world examples illustrate common vulnerabilities and mitigation strategies, making it a valuable guide for understanding OAuth mechanics and security considerations.  
16  
2
15. 15  
[](/posts/asp-net-core-updates-in-net-9-preview-2-blazor-oidc-oauth-and-configuring-http-sys-s6fdj4nfr "ASP.NET Core Updates in .NET 9 Preview 2: Blazor, OIDC, OAuth and Configuring HTTP.sys")  
Article  
![Avatar of infoq](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/afc3bced3e1e4b188dd9127017a60e0c)InfoQ · 3y  
ASP.NET Core Updates in .NET 9 Preview 2: Blazor, OIDC, OAuth and Configuring HTTP.sys  
ASP.NET Core in .NET 9 Preview 2 brings updates including Blazor component constructor injection, WebSocket compression for Blazor interactive server components, customizing OAuth and OIDC authorization parameters, and configuring HTTP.sys extended authentication flags.  
17
16. 16  
[](/posts/implementing-sso-in-vue-js-with-nuxt-auth-and-github-gbv4flwin "Implementing SSO in Vue.js with nuxt-auth and GitHub")  
Article  
![Avatar of telerik](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/5ee6d4bef8ac4f84886d06f5881963e7)Telerik · 3y  
Implementing SSO in Vue.js with nuxt-auth and GitHub  
Learn how to implement single sign-on (SSO) in Vue.js applications using nuxt-auth and GitHub OAuth.  
17
17. 17  
[](/posts/let-s-get-authenticated-google-sign-in-j0sjrtgtb "Let’s get Authenticated — Google Sign In")  
Article  
![Avatar of javarevisited](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/9ca6532654d146408235d53f0823a26d)Javarevisited · 2y  
Let’s get Authenticated — Google Sign In  
This post provides a full-stack solution for implementing Google Sign In using React.js and Spring Boot. It covers configuring Google APIs and Services, setting up the front-end using React.js, and implementing authentication in the back-end using Spring Boot.  
16
18. 18  
[](/posts/the-importance-of-stateless-architecture-in-authorization-systems-clmuagja4 "The importance of stateless architecture in authorization systems")  
Article  
![Avatar of cerbos](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/3a1b9cc36ed049dea39344fe1beb7e7e)Cerbos · 3y  
The importance of stateless architecture in authorization systems  
Stateless architecture in authorization systems simplifies system deployment, maintenance, and integration. It offers benefits such as scalability, fault tolerance, and simplicity. By using stateless authorization, the application can fetch the necessary state upfront and present it as a token, eliminating the need for external dependencies. Implementing a basic stateless authorization system is straightforward, but best practices for token management, expiration, revocation, and encryption should be followed. Centralized authorization servers and established protocols like OAuth and SAML can enhance security and interoperability.  
16  
6
19. 19  
[](/posts/how-to-add-supabase-auth-to-astro-z8gx4tt2q "How to add Supabase Auth to Astro")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
How to add Supabase Auth to Astro  
Integrate Supabase authentication in an Astro project using GitHub OAuth by creating a GitHub OAuth app, configuring it in Supabase, setting environment variables, and adding relevant code for Supabase server and admin instances, middleware for authentication, and login actions. Protect pages by checking user authentication and using redirects as needed.  
15
20. 20  
[](/posts/oauth-security-complete-guide-in-this-blog-we-will-uncover-the--cqado3rdx "OAuth Security: Complete Guide. In this blog, we will uncover the…")  
Article  
![Avatar of infosecwriteups](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/f0dc21b5bbfd46fda36f7b4b53dd1705)InfoSec Write-ups · 2y  
OAuth Security: Complete Guide. In this blog, we will uncover the…  
OAuth is a popular authorization protocol allowing third-party services to access user resources without revealing credentials. Common vulnerabilities include client secret exposure, CSRF, open redirects, and improper token usage. Security can be enhanced by proper client secret management, using the state parameter for CSRF protection, validating redirect URIs, and ensuring token confidentiality. OAuth 2.0's PKCE provides additional security for public clients without a client secret. OpenID Connect builds upon OAuth for user authentication.  
14
21. 21  
[](/posts/add-step-up-authentication-using-angular-and-nestjs-wyoubhgzo "Add Step-up Authentication Using Angular and NestJS")  
Article  
![Avatar of okta](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/17da1ccc02574ef9838f856af0e10def)Okta Dev · 3y  
Add Step-up Authentication Using Angular and NestJS  
This post demonstrates how to add step-up authentication to an Angular frontend and NestJS backend using the OAuth 2.0 Step Up Authentication Challenge Protocol. It covers setting up the authentication configuration, guarding routes with step-up authentication, and protecting API resources with the challenge. The post also mentions the possibility of ensuring authentication recency in step-up authentication.  
12
22. 22  
[](/posts/spring-security-6-3-what-s-new-5cggetfbb "Spring Security 6.3 – What’s New")  
Article  
![Avatar of baeldung](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/52cccfb454d946c4b7dfa5e816f9e576)Baeldung · 2y  
Spring Security 6.3 – What’s New  
Spring Security 6.3 introduces several key enhancements, including passive JDK serialization support to address issues related to serialization across versions, new authorization features like defining meta-annotations for role management, and the ability to secure return values with the @AuthorizeReturnObject annotation. Additionally, the update includes error handling improvements and compromised password checks using Pwned Passwords API. The update also adds support for OAuth 2.0 Token Exchange, enabling clients to exchange tokens while retaining user identity.  
11
23. 23  
[](/posts/implementing-robust-graphql-authentication-with-apollo-leveraging-custom-directives-and-plugins-for-xxmdp1ey0 "Implementing Robust GraphQL Authentication with Apollo: Leveraging Custom Directives and Plugins for Precise Access Control")  
Article  
![Avatar of javarevisited](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/9ca6532654d146408235d53f0823a26d)Javarevisited · 2y  
Implementing Robust GraphQL Authentication with Apollo: Leveraging Custom Directives and Plugins for Precise Access Control  
GraphQL's single endpoint architecture necessitates a unified access control strategy, unlike REST APIs. Traditional methods of endpoint-specific authentication don't apply. One solution is using custom directives and Apollo plugins to implement fine-grained access control efficiently. These plugins allow centralized authentication mechanisms, support OAuth 2.0 integrations, and offer features like encryption and redaction of sensitive fields. The new authorization plugin provides a reusable framework that simplifies maintaining consistent access policies.  
11
24. 24  
[](/posts/using-github-and-nextauth-js-for-single-sign-on-in-next-js-h8fbfhibd "Using GitHub and NextAuth.js for Single Sign-on in Next.js")  
Article  
![Avatar of telerik](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/5ee6d4bef8ac4f84886d06f5881963e7)Telerik · 2y  
Using GitHub and NextAuth.js for Single Sign-on in Next.js  
Learn how to implement single sign-on with GitHub and OAuth in Next.js using NextAuth.js for straightforward and secure authentication management.  
11
25. 25  
[](/posts/securing-your-apis-verifying-api-keys-and-using-scopes-chrvqwkeo "Securing Your APIs: Verifying API Keys And Using Scopes")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Securing Your APIs: Verifying API Keys And Using Scopes  
This post discusses the importance of securing your APIs and provides information on API authentication, API key verification, centralized and decentralized verification methods, OAuth, and user-based permissions for third-party APIs.  
11

[See all OAuth archives](/tags/oauth/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/oauth/best-of/2024#page","url":"https://daily.dev/tags/oauth/best-of/2024","name":"Best OAuth Posts of 2024","description":"The most upvoted OAuth posts of 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/oauth/best-of/2024#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/better-auth-mlybduwgh","name":"Better Auth"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/oauth-2-0-flows-explained-in-gifs-beqiosycs","name":"🔑 OAuth 2.0 flows explained in GIFs"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/understanding-jwt-oauth-and-bearer-tokens-8cuqxswdw","name":"Understanding JWT, OAuth, and Bearer tokens"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/understanding-web-authentication-xd6knj11y","name":"Understanding Web Authentication"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/best-practices-for-storing-access-tokens-in-the-browser-y0w9frdpk","name":"Best Practices for Storing Access Tokens in the Browser"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/next-js-and-next-auth-v5-guide-to-social-logins-oauth--gupp1hbuo","name":"Next.js and Next-Auth V5: Guide to Social Logins(OAuth)"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/casdoor-an-open-source-ui-first-identity-and-access-management-iam-single-sign-on-sso-platfo-ns9whu43c","name":"Casdoor · An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform with web UI supporting OAuth 2.0, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, RADIUS, Googl"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/building-a-google-drive-downloader-in-golang-part-2--zskbmpdsm","name":"Building a Google Drive Downloader in Golang (Part 2)"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/authentication-and-authorization-enhancements-in-net-9-0-zadhkrhqz","name":"Authentication and Authorization Enhancements in .NET 9.0"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/auth-js-adoption-guide-overview-examples-and-alternatives-o9zxm5rtk","name":"Auth.js adoption guide: Overview, examples, and alternatives"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/post-only-let-s-end-this-absurd-api-design-debate-3sniy7oa7","name":"POST only? Let's end this absurd API design debate"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/4-api-security-best-practices-gwxgqreaj","name":"4 API Security Best Practices"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/oauth-vs-jwt-differences-in-application-authentication-and-authorization-rndmqad5j","name":"OAuth vs. JWT: Differences in Application Authentication and Authorization"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/stack-auth-dizn6oigo","name":"Stack Auth"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/asp-net-core-updates-in-net-9-preview-2-blazor-oidc-oauth-and-configuring-http-sys-s6fdj4nfr","name":"ASP.NET Core Updates in .NET 9 Preview 2: Blazor, OIDC, OAuth and Configuring HTTP.sys"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/implementing-sso-in-vue-js-with-nuxt-auth-and-github-gbv4flwin","name":"Implementing SSO in Vue.js with nuxt-auth and GitHub"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/let-s-get-authenticated-google-sign-in-j0sjrtgtb","name":"Let’s get Authenticated — Google Sign In"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/the-importance-of-stateless-architecture-in-authorization-systems-clmuagja4","name":"The importance of stateless architecture in authorization systems"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/how-to-add-supabase-auth-to-astro-z8gx4tt2q","name":"How to add Supabase Auth to Astro"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/oauth-security-complete-guide-in-this-blog-we-will-uncover-the--cqado3rdx","name":"OAuth Security: Complete Guide. In this blog, we will uncover the…"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/add-step-up-authentication-using-angular-and-nestjs-wyoubhgzo","name":"Add Step-up Authentication Using Angular and NestJS"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/spring-security-6-3-what-s-new-5cggetfbb","name":"Spring Security 6.3 – What’s New"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/implementing-robust-graphql-authentication-with-apollo-leveraging-custom-directives-and-plugins-for-xxmdp1ey0","name":"Implementing Robust GraphQL Authentication with Apollo: Leveraging Custom Directives and Plugins for Precise Access Control"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/using-github-and-nextauth-js-for-single-sign-on-in-next-js-h8fbfhibd","name":"Using GitHub and NextAuth.js for Single Sign-on in Next.js"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/securing-your-apis-verifying-api-keys-and-using-scopes-chrvqwkeo","name":"Securing Your APIs: Verifying API Keys And Using Scopes"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"OAuth","item":"https://daily.dev/tags/oauth"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/oauth/best-of"},{"@type":"ListItem","position":5,"name":"2024"}]}]}
```

