{"version":1,"pages":[{"id":"-MAjXsTgpMRJlth0ctKx","title":"Authgear Overview","pathname":"/","siteSpaceId":"sitesp_5Z0MS","description":"Authgear is a highly adaptable identity-as-a-service (IDaaS) platform for web and mobile applications"},{"id":"ydILCtuQJIqOtXSQJnQ6","title":"5-Minute Guide","pathname":"/get-started/5-minute-guide","siteSpaceId":"sitesp_5Z0MS","description":"A quick guide on getting started with Authgear","breadcrumbs":[{"label":"Get Started"}]},{"id":"n291PtQQ52cn31GwcYX8","title":"Skills for AI Agent","pathname":"/get-started/ai-coding-tools","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"DV2lbpTbrISlgGAuQZG6","title":"Start Building","pathname":"/get-started/start-building","siteSpaceId":"sitesp_5Z0MS","description":"Choose the integration approach based on application type","breadcrumbs":[{"label":"Get Started"}]},{"id":"krecH2oILiNdxenJC84w","title":"Single-Page App","pathname":"/get-started/single-page-app","siteSpaceId":"sitesp_5Z0MS","description":"You need to protect a JavaScript SPA application that runs entirely in a browser","breadcrumbs":[{"label":"Get Started"}]},{"id":"cpJZRTXowaem5PW8JpMd","title":"JavaScript (Web)","pathname":"/get-started/single-page-app/website","siteSpaceId":"sitesp_5Z0MS","description":"Integrate Authgear to your website with the Web SDK","breadcrumbs":[{"label":"Get Started"},{"label":"Single-Page App"}]},{"id":"-MbjniMzPmbpZ2MI29aV","title":"React","pathname":"/get-started/single-page-app/react","siteSpaceId":"sitesp_5Z0MS","description":"Follow this quickstart tutorial to add authentication to your React application","breadcrumbs":[{"label":"Get Started"},{"label":"Single-Page App"}]},{"id":"OebXDnWVjMaHZWu9GwaM","title":"Angular","pathname":"/get-started/single-page-app/angular","siteSpaceId":"sitesp_5Z0MS","description":"Follow this quickstart tutorial to add authentication to your Angular application","breadcrumbs":[{"label":"Get Started"},{"label":"Single-Page App"}]},{"id":"dfc7Z8f9qyNYOcOGTALB","title":"Vue","pathname":"/get-started/single-page-app/vue","siteSpaceId":"sitesp_5Z0MS","description":"Follow this quickstart tutorial to add authentication to your Vue application","breadcrumbs":[{"label":"Get Started"},{"label":"Single-Page App"}]},{"id":"hIOADL6CXMw9189pc2oO","title":"Native/Mobile App","pathname":"/get-started/native-mobile-app","siteSpaceId":"sitesp_5Z0MS","description":"If you are developing mobile or desktop applications, choose from one of these SDKs for your platform to get started.","breadcrumbs":[{"label":"Get Started"}]},{"id":"LzMAOMrajRTN1xwCp51w","title":"iOS SDK","pathname":"/get-started/native-mobile-app/ios","siteSpaceId":"sitesp_5Z0MS","description":"Integrate your iOS application with Authgear iOS SDK","breadcrumbs":[{"label":"Get Started"},{"label":"Native/Mobile App"}]},{"id":"JAyUCdyydxw7WN5n45Uz","title":"Android SDK","pathname":"/get-started/native-mobile-app/android","siteSpaceId":"sitesp_5Z0MS","description":"How to use authgear android SDK","breadcrumbs":[{"label":"Get Started"},{"label":"Native/Mobile App"}]},{"id":"h719UHOQWJEj37StyiMH","title":"Android Kotlin coroutine support","pathname":"/get-started/native-mobile-app/android/coroutine-support","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Native/Mobile App"},{"label":"Android SDK"}]},{"id":"wEX2bw4WUaIKFKXtrFBg","title":"Android OKHttp Interceptor Extension (Optional)","pathname":"/get-started/native-mobile-app/android/okhttp-interceptor-extension","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Native/Mobile App"},{"label":"Android SDK"}]},{"id":"YtcrWkc6l9FXHnGcFjaU","title":"Flutter SDK","pathname":"/get-started/native-mobile-app/flutter","siteSpaceId":"sitesp_5Z0MS","description":"How to integrate with a Flutter app","breadcrumbs":[{"label":"Get Started"},{"label":"Native/Mobile App"}]},{"id":"Dn1akGNmYT8XruQHU4bR","title":"React Native SDK","pathname":"/get-started/native-mobile-app/react-native","siteSpaceId":"sitesp_5Z0MS","description":"How to integrate with a React Native app","breadcrumbs":[{"label":"Get Started"},{"label":"Native/Mobile App"}]},{"id":"g4tCcrjleuzgU3xxOK1S","title":"Ionic SDK","pathname":"/get-started/native-mobile-app/ionic-sdk","siteSpaceId":"sitesp_5Z0MS","description":"Guide on how to use Authgear in an Ionic project","breadcrumbs":[{"label":"Get Started"},{"label":"Native/Mobile App"}]},{"id":"IKTtMHiNmizfVOt8cDPE","title":"Xamarin SDK","pathname":"/get-started/native-mobile-app/xamarin","siteSpaceId":"sitesp_5Z0MS","description":"How to integrate with a Xamarin app","breadcrumbs":[{"label":"Get Started"},{"label":"Native/Mobile App"}]},{"id":"u69BpzZwVs5jj9UmwQcy","title":"Using Authgear without SDK (Client side)","pathname":"/get-started/native-mobile-app/using-authgear-without-sdk-client-side","siteSpaceId":"sitesp_5Z0MS","description":"Integrate Authgear on the client side in mobile apps without SDK","breadcrumbs":[{"label":"Get Started"},{"label":"Native/Mobile App"}]},{"id":"EBHC1D6MxWVER3T479TK","title":"Regular Web App","pathname":"/get-started/regular-web-app","siteSpaceId":"sitesp_5Z0MS","description":"Traditional web app that runs on the server","breadcrumbs":[{"label":"Get Started"}]},{"id":"8nQYH8fElKTHw2uaS1RL","title":"Next.js","pathname":"/get-started/regular-web-app/nextjs","siteSpaceId":"sitesp_5Z0MS","description":"Authentication for Next.js app with Authgear","breadcrumbs":[{"label":"Get Started"},{"label":"Regular Web App"}]},{"id":"B8pK11upMfo3w4xZG7F8","title":"Express","pathname":"/get-started/regular-web-app/express","siteSpaceId":"sitesp_5Z0MS","description":"Authentication for Express.JS apps with Authgear and OAuth2","breadcrumbs":[{"label":"Get Started"},{"label":"Regular Web App"}]},{"id":"xP3aVpZFt0cFH9Q7ren6","title":"Python Flask App","pathname":"/get-started/regular-web-app/python-flask-app","siteSpaceId":"sitesp_5Z0MS","description":"Authentication for a Python web application","breadcrumbs":[{"label":"Get Started"},{"label":"Regular Web App"}]},{"id":"X6ybf9cw2VmVHwEFrPQU","title":"Java Spring Boot","pathname":"/get-started/regular-web-app/java-spring-boot","siteSpaceId":"sitesp_5Z0MS","description":"Authentication for Spring Boot App with Authgear and OAuth2","breadcrumbs":[{"label":"Get Started"},{"label":"Regular Web App"}]},{"id":"In5P7U3NT4JygKlUsZUR","title":"ASP.NET Core MVC","pathname":"/get-started/regular-web-app/asp.net-core-mvc","siteSpaceId":"sitesp_5Z0MS","description":"Add authentication for ASP.NET app with Authgear","breadcrumbs":[{"label":"Get Started"},{"label":"Regular Web App"}]},{"id":"glHG4YqXTwGYNDxNZcI3","title":"Laravel","pathname":"/get-started/regular-web-app/laravel","siteSpaceId":"sitesp_5Z0MS","description":"Authentication for Laravel websites with Authgear and OAuth2","breadcrumbs":[{"label":"Get Started"},{"label":"Regular Web App"}]},{"id":"DZiHpOE5zjDh639ONAKm","title":"PHP","pathname":"/get-started/regular-web-app/php","siteSpaceId":"sitesp_5Z0MS","description":"Authentication for PHP websites with Authgear and OAuth2","breadcrumbs":[{"label":"Get Started"},{"label":"Regular Web App"}]},{"id":"xp8Yw44yzS7vmIMf3OOh","title":"Backend/API Integration","pathname":"/get-started/backend-api","siteSpaceId":"sitesp_5Z0MS","description":"An API or service protected by Authgear","breadcrumbs":[{"label":"Get Started"}]},{"id":"-MbFM4jjzD5DKZzSMBE8","title":"Client SDK to make authorized API calls to backend","pathname":"/get-started/backend-api/using-sdk-to-call-your-application-server","siteSpaceId":"sitesp_5Z0MS","description":"How to make authorized request to your application server after login with Authgear","breadcrumbs":[{"label":"Get Started"},{"label":"Backend/API Integration"}]},{"id":"NBU5LasbVvo4StH1QZjP","title":"Validate JWT in your backend","pathname":"/get-started/backend-api/jwt","siteSpaceId":"sitesp_5Z0MS","description":"Authenticate the incoming HTTP requests by validating JWT in your application server","breadcrumbs":[{"label":"Get Started"},{"label":"Backend/API Integration"}]},{"id":"65ohKeKBRjgqbkNg5IqM","title":"Forward Authentication to Authgear Resolver Endpoint","pathname":"/get-started/backend-api/nginx","siteSpaceId":"sitesp_5Z0MS","description":"Authenticate the incoming HTTP requests by forwarding Authentication to Authgear Resolver Endpoint","breadcrumbs":[{"label":"Get Started"},{"label":"Backend/API Integration"}]},{"id":"73nR2f20BtzG0lv9D0CE","title":"Machine-to-Machine (M2M) Applications","pathname":"/get-started/m2m-applications","siteSpaceId":"sitesp_5Z0MS","description":"Enable secure, automated authorization for your backend systems, microservices, and IoT devices, ensuring only trusted apps and devices can access your APIs.","breadcrumbs":[{"label":"Get Started"}]},{"id":"PyQrUAVUmBx3DyurjCHI","title":"Integration by OIDC","pathname":"/get-started/oidc-provider","siteSpaceId":"sitesp_5Z0MS","description":"Using Authgear as an OpenID Connect Provider for any OIDC compatible applications for Single Sign-On.","breadcrumbs":[{"label":"Get Started"}]},{"id":"BGtorEkEEL9mQdRupmAM","title":"Integration by SAML","pathname":"/get-started/single-sign-on-with-saml","siteSpaceId":"sitesp_5Z0MS","description":"Guides on how to use Authgear as a SAML Identity Provider for Single Sign-On","breadcrumbs":[{"label":"Get Started"}]},{"id":"Q2ArMykBk2SAARnYBfy6","title":"Use Authgear as SAML Identity Provider for Salesforce","pathname":"/get-started/single-sign-on-with-saml/use-authgear-as-saml-identity-provider-for-salesforce","siteSpaceId":"sitesp_5Z0MS","description":"A guide on how to use Authgear as a SAML Identity Provider IdP in Salesforce","breadcrumbs":[{"label":"Get Started"},{"label":"Integration by SAML"}]},{"id":"ShT7he6GCLd3f8TparPa","title":"Use Authgear as SAML Identity Provider for Dropbox","pathname":"/get-started/single-sign-on-with-saml/use-authgear-as-saml-identity-provider-for-dropbox","siteSpaceId":"sitesp_5Z0MS","description":"Guide on how to use Authgear as a SAML IdP for Dropbox","breadcrumbs":[{"label":"Get Started"},{"label":"Integration by SAML"}]},{"id":"3UnIrsUn8liEnXXI88dk","title":"SAML Attribute Mapping","pathname":"/get-started/single-sign-on-with-saml/saml-attribute-mapping","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Integration by SAML"}]},{"id":"AacHlDK7HYwso2FzQDA3","title":"Authentication","pathname":"/authentication-and-access/authentication","siteSpaceId":"sitesp_5Z0MS","description":"Implement Authgear to control access to your applications","breadcrumbs":[{"label":"Authentication and Access"}]},{"id":"jCUmixJi90z99H9bFpM5","title":"Passwords","pathname":"/authentication-and-access/authentication/passwords","siteSpaceId":"sitesp_5Z0MS","description":"Configure settings for both Primary and Secondary passwords","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"syKpMHZwcSMScMetbwUc","title":"Change Forgot/Reset Password settings","pathname":"/authentication-and-access/authentication/passwords/forgot-reset-password-settings","siteSpaceId":"sitesp_5Z0MS","description":"Configure password reset/account recovery processes.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"},{"label":"Passwords"}]},{"id":"NhtSu6QcpnAuIB0Vh1q1","title":"Password Policy","pathname":"/authentication-and-access/authentication/passwords/password-policy","siteSpaceId":"sitesp_5Z0MS","description":"Setting format and strength requirements for passwords","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"},{"label":"Passwords"}]},{"id":"KaYYKFzfgorkhVcHI0U6","title":"Password Expiry","pathname":"/authentication-and-access/authentication/passwords/password-expiry","siteSpaceId":"sitesp_5Z0MS","description":"Requiring users to reset their password if they haven't logged in after specific number of days","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"},{"label":"Passwords"}]},{"id":"GQUZwUkArvUiY5Rr89Dt","title":"How to Handle Password While Creating Accounts for Users","pathname":"/authentication-and-access/authentication/passwords/how-to-handle-password-while-creating-accounts-for-users","siteSpaceId":"sitesp_5Z0MS","description":"Recommended practices for setting password for a user account created on the Authgear Portal","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"},{"label":"Passwords"}]},{"id":"YYYa13DLuPlBCELXPyOD","title":"Reset Password for Users","pathname":"/authentication-and-access/authentication/passwords/reset-password-for-users","siteSpaceId":"sitesp_5Z0MS","description":"Guide on resetting a user's password via the Authgear Portal or AdminAPI","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"},{"label":"Passwords"}]},{"id":"WIux9aDD8ymVfipPohdR","title":"Add Passkeys Login","pathname":"/authentication-and-access/authentication/passkeys","siteSpaceId":"sitesp_5Z0MS","description":"Passkeys give users a simple and secure way to sign in to your apps and websites across platforms without passwords.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"jZAC3exogBpM0cYlKnt8","title":"Add WhatsApp OTP Login","pathname":"/authentication-and-access/authentication/whatsapp-otp-login","siteSpaceId":"sitesp_5Z0MS","description":"Allow users to log into your app via OTP with WhatsApp, as a secure alternative to SMS","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"hr47v0mFhgONFU6wafNm","title":"Add Email Magic Link Login","pathname":"/authentication-and-access/authentication/add-email-magic-link-login","siteSpaceId":"sitesp_5Z0MS","description":"Passwordless login with email links","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"-MZqP_6MxFh_Cqahts1j","title":"Add Biometric Login","pathname":"/authentication-and-access/authentication/biometric","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"k4Vy0oJZgwLdkby6ID7n","title":"Add Anonymous Users","pathname":"/authentication-and-access/authentication/anonymous-users","siteSpaceId":"sitesp_5Z0MS","description":"Allow guest users to use your apps and website and promote to regular users later.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"YChItZvcDZ70oQ8hCRhc","title":"Enable Two-Factor Authentication (2FA)","pathname":"/authentication-and-access/authentication/enable-two-factor-authentication-2fa","siteSpaceId":"sitesp_5Z0MS","description":"Guide on how to add Two-Factor Authentication to your application.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"-MdQPWOKHiM6TkSQuZ9z","title":"Re-authentication","pathname":"/authentication-and-access/authentication/reauthentication","siteSpaceId":"sitesp_5Z0MS","description":"Authgear provides an easy method to reauthenticate the end-users. You can use this as a security measure to protect sensitive operations.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"U5alH4UHiMr2MeG9xz1F","title":"Add authentication to any web page","pathname":"/authentication-and-access/authentication/add-authentication-to-any-web-page","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to add authentication to any web page without using Authgear's SDKs with IIFE(Immediately-invoked Function Expression) bundle","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"XOrbPbvo0eQSomtoSqD8","title":"Disable Public Signup","pathname":"/authentication-and-access/authentication/disable-public-signup","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"mCha0RTHNQXT2BHa6HGY","title":"Custom Authentication Flow","pathname":"/authentication-and-access/authentication/custom-authentication-flow","siteSpaceId":"sitesp_5Z0MS","description":"Allow users to authenticate with a custom flow.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Authentication"}]},{"id":"J0qrxmGVJ9V9D1fw1b9H","title":"Single Sign-on Overview","pathname":"/authentication-and-access/single-sign-on","siteSpaceId":"sitesp_5Z0MS","description":"Provide a seamless user experience across multiple applications with the single sign-on feature.","breadcrumbs":[{"label":"Authentication and Access"}]},{"id":"N5gkFYEoDY1zR5or2Msl","title":"App2App Login","pathname":"/authentication-and-access/single-sign-on/app2app-authorization","siteSpaceId":"sitesp_5Z0MS","description":"Perform faster authentication flow via another app installed on the same device.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Single Sign-on Overview"}]},{"id":"htKkPOOxuQhG7VqbwPYP","title":"App2Web (Pre-authenticated URLs)","pathname":"/authentication-and-access/single-sign-on/pre-authenticated-urls","siteSpaceId":"sitesp_5Z0MS","description":"Use the pre-authenticated URLs feature to open a website from a native app in an authenticated state.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Single Sign-on Overview"}]},{"id":"XtPVuGeorUCVy0ugDzJb","title":"Web2App (From Mobile Apps to Browsers)","pathname":"/authentication-and-access/single-sign-on/sso-with-mobile-app-web-spa","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Single Sign-on Overview"}]},{"id":"uy0d6VnRVZLGsBdTUdcO","title":"Force Authgear to Show Login Page","pathname":"/authentication-and-access/single-sign-on/force-authgear-to-show-login-page","siteSpaceId":"sitesp_5Z0MS","description":"Force Authgear to always show login page even if the user have already logged in.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Single Sign-on Overview"}]},{"id":"-MK07s4NI2qgLsttIj18","title":"Social/Enterprise Login Providers Overview","pathname":"/authentication-and-access/social-enterprise-login-providers","siteSpaceId":"sitesp_5Z0MS","description":"Add third-party identity providers to enable frictionless sign in for your users","breadcrumbs":[{"label":"Authentication and Access"}]},{"id":"3W8enrMynjmgMq0rNCwJ","title":"Social Login Providers","pathname":"/authentication-and-access/social-enterprise-login-providers/social-login-providers","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"}]},{"id":"-MRTFnS2hjNKzh1Gpe6E","title":"Connect Apps to Apple","pathname":"/authentication-and-access/social-enterprise-login-providers/social-login-providers/apple","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"},{"label":"Social Login Providers"}]},{"id":"-MRTFnS345NTTaMKdW-z","title":"Connect Apps to Google","pathname":"/authentication-and-access/social-enterprise-login-providers/social-login-providers/google","siteSpaceId":"sitesp_5Z0MS","description":"Add Google Sign in to your apps in less than 5 minutes.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"},{"label":"Social Login Providers"}]},{"id":"-MRTFnS4TYlNzzcI_dDM","title":"Connect Apps to Facebook","pathname":"/authentication-and-access/social-enterprise-login-providers/social-login-providers/facebook","siteSpaceId":"sitesp_5Z0MS","description":"Add Facebook Sign in to your apps in less than 5 minutes.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"},{"label":"Social Login Providers"}]},{"id":"CptzzDCuDXvY2u9NRbVi","title":"Connect Apps to GitHub","pathname":"/authentication-and-access/social-enterprise-login-providers/social-login-providers/github","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"},{"label":"Social Login Providers"}]},{"id":"-MRTFnS52yQbzrTM_IZ7","title":"Connect Apps to LinkedIn","pathname":"/authentication-and-access/social-enterprise-login-providers/social-login-providers/linkedin","siteSpaceId":"sitesp_5Z0MS","description":"Guide on how to add LinkedIn as a social login provider","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"},{"label":"Social Login Providers"}]},{"id":"CKyPgpQMUeZYS7MQOoRf","title":"Connect Mobile Apps to WeChat","pathname":"/authentication-and-access/social-enterprise-login-providers/social-login-providers/wechat-mobile","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"},{"label":"Social Login Providers"}]},{"id":"VysFqzHXBfSM5tNj1dxt","title":"Connect Websites to WeChat","pathname":"/authentication-and-access/social-enterprise-login-providers/social-login-providers/wechat-web","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"},{"label":"Social Login Providers"}]},{"id":"NKwVf2IiAbX6ZLCCVrHv","title":"Enterprise Login Providers","pathname":"/authentication-and-access/social-enterprise-login-providers/enterprise-login-providers","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"}]},{"id":"-MRTFnS6XVa3hEuIvD0l","title":"Connect Apps to Azure Active Directory","pathname":"/authentication-and-access/social-enterprise-login-providers/enterprise-login-providers/azureadv2","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"},{"label":"Enterprise Login Providers"}]},{"id":"-MZkLt7xm4GJdzti8mZ_","title":"Connect Apps to Microsoft AD FS","pathname":"/authentication-and-access/social-enterprise-login-providers/enterprise-login-providers/adfs","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"},{"label":"Enterprise Login Providers"}]},{"id":"OMYKmdV5Zbwu6h6V7XpT","title":"Connect Apps to Azure AD B2C","pathname":"/authentication-and-access/social-enterprise-login-providers/enterprise-login-providers/azureadb2c","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"},{"label":"Enterprise Login Providers"}]},{"id":"ImiXzVwmTKk4pI6rSED7","title":"Force Social/Enterprise Login Providers to Show Login Screen","pathname":"/authentication-and-access/social-enterprise-login-providers/force-social-enterprise-login-providers-to-show-login-screen","siteSpaceId":"sitesp_5Z0MS","description":"Use OIDC prompt parameter to force OAuth providers to show login screen.","breadcrumbs":[{"label":"Authentication and Access"},{"label":"Social/Enterprise Login Providers Overview"}]},{"id":"KkRNP1j9ErvDUk4VdvS2","title":"FAQ for Authentication","pathname":"/faq-for-authentication","siteSpaceId":"sitesp_5Z0MS","description":""},{"id":"4e7rXtQz5xgxN931smkt","title":"OTP Test Mode","pathname":"/faq-for-authentication/otp-test-mode","siteSpaceId":"sitesp_5Z0MS","description":"Suppress message delivery and fix OTP for testing purposes","breadcrumbs":[{"label":"FAQ for Authentication"}]},{"id":"1AxHA5LgZULhna1EDXde","title":"Tips for Apple App Store Review with Passwordless Login","pathname":"/faq-for-authentication/passwordless-demo-user-for-apple-app-review","siteSpaceId":"sitesp_5Z0MS","description":"How to pass the Apple Store review process if your app uses passwordless login.","breadcrumbs":[{"label":"FAQ for Authentication"}]},{"id":"aeXAnDEwz8QJ9XKJnisI","title":"Phone Number Validation","pathname":"/faq-for-authentication/phone-number-validation","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"FAQ for Authentication"}]},{"id":"evn0UwlRRMLnuacgWsY8","title":"Skip Login Screen and Direct Users to Enterprise Login","pathname":"/faq-for-authentication/how-to-use-social-enterprise-login-providers-without-authui","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to take users directly to an external OAuth provider's authorization page without opening AuthUI login page.","breadcrumbs":[{"label":"FAQ for Authentication"}]},{"id":"XvsURiy0JDO7KX6zqIX2","title":"Use the OAuth 2.0 State Parameter","pathname":"/faq-for-authentication/how-to-use-the-oauth-2.0-state-parameter","siteSpaceId":"sitesp_5Z0MS","description":"Reference on what the OAuth 2.0 parameter is and how to use it in Authgear SDK.","breadcrumbs":[{"label":"FAQ for Authentication"}]},{"id":"-MfehDTdoGvYFXK6dbhR","title":"Local Dev Setup for Connecting to Authgear SaaS in Cookie-based Auth","pathname":"/faq-for-authentication/local-cookie-based-web-setup","siteSpaceId":"sitesp_5Z0MS","description":"Setting up the local development environment for websites that use cookie-based authentication.","breadcrumbs":[{"label":"FAQ for Authentication"}]},{"id":"QDvzoUCsTeqNGP7TJ3aL","title":"Add custom fields to a JWT Access Token or ID Token","pathname":"/integration/add-custom-fields-to-a-jwt-access-token","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to add custom attributes to a JWT Access Token or ID Token using Authgear","breadcrumbs":[{"label":"Integration"}]},{"id":"ORk0DLqCPvov5PBN2sxR","title":"User Profiles","pathname":"/integration/user-profiles","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Integration"}]},{"id":"BNKQ8Nlxj6uK5OkY3iQK","title":"What is User Profile","pathname":"/integration/user-profiles/user-profile","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Integration"},{"label":"User Profiles"}]},{"id":"T8YxCS3ni3NsqCEAH0pK","title":"Access User Profiles","pathname":"/integration/user-profiles/access-user-profiles","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to access User Profiles","breadcrumbs":[{"label":"Integration"},{"label":"User Profiles"}]},{"id":"4mX8Gl7Kqc7ZQQkoCyGN","title":"Update User Profiles","pathname":"/integration/user-profiles/update-user-profiles","siteSpaceId":"sitesp_5Z0MS","description":"Guide on the different ways you can modify the profiles of the users of your application.","breadcrumbs":[{"label":"Integration"},{"label":"User Profiles"}]},{"id":"KfcEQG8yh5DpEb0xiFfe","title":"Profile Custom Attributes","pathname":"/integration/user-profiles/profile-custom-attributes","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to add custom attributes to user profiles and manage existing custom attributes","breadcrumbs":[{"label":"Integration"},{"label":"User Profiles"}]},{"id":"bACENL7i4YyOlMS9NL5E","title":"Update user profile on sign-up using Hooks","pathname":"/integration/user-profiles/update-user-profile-on-sign-up-using-hooks","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to update a User profile's custom attributes on sign-up using Hooks","breadcrumbs":[{"label":"Integration"},{"label":"User Profiles"}]},{"id":"CG4JXAmI0CsVCueKCxSx","title":"Mobile Apps","pathname":"/integration/mobile-apps","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to integrate Authgear with mobile apps using SDKs and advanced configurations","breadcrumbs":[{"label":"Integration"}]},{"id":"-Mj8Y1oAhH7-FL0y4tol","title":"Force authentication on app launch","pathname":"/integration/mobile-apps/force-authentication-on-app-launch","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Integration"},{"label":"Mobile Apps"}]},{"id":"LluSBuPDQab4Jrb3FK4I","title":"Customize the Login Pop-up / Disable the login alert box","pathname":"/integration/mobile-apps/using-webview-to-open-the-authgear-ui","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to switch between ASWebAuthenticationSession/Custom Tabs to WebKitWebView using Authgear Mobile SDKs.","breadcrumbs":[{"label":"Integration"},{"label":"Mobile Apps"}]},{"id":"w4CPLajR26eBlu1enOXd","title":"Integration with other Software","pathname":"/integration/integration-with-other-software","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Integration"}]},{"id":"Dpz8umbkMvALNPJdurcb","title":"Authgear and Supabase","pathname":"/integration/integration-with-other-software/authgear-supabase","siteSpaceId":"sitesp_5Z0MS","description":"Guide on using Authgear together with Supabase database to deliver a secure and scalable application","breadcrumbs":[{"label":"Integration"},{"label":"Integration with other Software"}]},{"id":"kCNO7xRCb24s0bzP9VCR","title":"Authgear and Firebase","pathname":"/integration/integration-with-other-software/authgear-firebase","siteSpaceId":"sitesp_5Z0MS","description":"Guide on how to use Authgear to secure Firebase services","breadcrumbs":[{"label":"Integration"},{"label":"Integration with other Software"}]},{"id":"2T5ZGqjM4P3mg6tvnfz2","title":"Integrate with Google Tag Manager","pathname":"/integration/integration-with-other-software/user-analytics-by-google-tag-manager","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to integrate popular analytics and tracking tools into your Authgear project using Google Tag Manager","breadcrumbs":[{"label":"Integration"},{"label":"Integration with other Software"}]},{"id":"IFapCeddlfrkWHN9wgL3","title":"FAQ for Integration","pathname":"/integration/faq-for-integration","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Integration"}]},{"id":"Ybrj3PKyvGwwjJCnCqKq","title":"How to Track User Before and After Signup?","pathname":"/integration/faq-for-integration/track-user-before-and-after-signup","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to track a user that signs up from a particular source or campaign.","breadcrumbs":[{"label":"Integration"},{"label":"FAQ for Integration"}]},{"id":"di5rj1ak24wRD17Fx07Y","title":"What happens with user directly access the Authgear Endpoint?","pathname":"/integration/faq-for-integration/directly-accessing-authgear-endpoint","siteSpaceId":"sitesp_5Z0MS","description":"Endpoint Direct Access lets you configure what happens when users unexpectedly access your Authgear project endpoint without using OIDC/SDK/SAML.","breadcrumbs":[{"label":"Integration"},{"label":"FAQ for Integration"}]},{"id":"C4dpcoQ3NbWzOzVUKXdu","title":"Built-in UI","pathname":"/customization/built-in-ui","siteSpaceId":"sitesp_5Z0MS","description":"Authgear lets you customize your users’ entire authentication experience","breadcrumbs":[{"label":"Customization"}]},{"id":"-MdQY3jNoOx1oNBrteKJ","title":"Branding in Auth UI","pathname":"/customization/built-in-ui/branding","siteSpaceId":"sitesp_5Z0MS","description":"Customize the look and feel of Authgear to match your branding","breadcrumbs":[{"label":"Customization"},{"label":"Built-in UI"}]},{"id":"-MbjCfqtxI_Bs-rBIMd_","title":"User Settings","pathname":"/customization/built-in-ui/user-settings","siteSpaceId":"sitesp_5Z0MS","description":"Authgear offers prebuilt frontends for essential authentication features, including user settings pages.","breadcrumbs":[{"label":"Customization"},{"label":"Built-in UI"}]},{"id":"-MNNE6Pzkwqj8FsfTOd5","title":"Privacy Policy & Terms of Service Links","pathname":"/customization/built-in-ui/privacy-policy-terms-of-service","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Customization"},{"label":"Built-in UI"}]},{"id":"-MdQUQF6yVAsHJ51r5KZ","title":"Customer Support Link","pathname":"/customization/built-in-ui/customer-support-link","siteSpaceId":"sitesp_5Z0MS","description":"Let end-user to contact customer support in case they need help in the login process.","breadcrumbs":[{"label":"Customization"},{"label":"Built-in UI"}]},{"id":"zZsXA3uypmIeWYQweUuD","title":"Custom Text","pathname":"/customization/built-in-ui/localization","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Customization"},{"label":"Built-in UI"}]},{"id":"00EsDB4pxnMmowGUZBMW","title":"Languages and Localization","pathname":"/customization/built-in-ui/languages-and-localization","siteSpaceId":"sitesp_5Z0MS","description":"Change the default language for your Authgear project.","breadcrumbs":[{"label":"Customization"},{"label":"Built-in UI"}]},{"id":"QuQP4wQAMhHjbsQ6yegR","title":"Custom UI","pathname":"/customization/custom-ui","siteSpaceId":"sitesp_5Z0MS","description":"Resources about setting up your own custom User Interface for Login, Signup, Account recovery and more.","breadcrumbs":[{"label":"Customization"}]},{"id":"bh9jTI1HfOss0Ga6QOXo","title":"Authentication Flow API","pathname":"/customization/custom-ui/authentication-flow-api","siteSpaceId":"sitesp_5Z0MS","description":"Learn about what the Authentication Flow API is and how to use it to implement your own custom user interface (UI) for authentication.","breadcrumbs":[{"label":"Customization"},{"label":"Custom UI"}]},{"id":"o7crbElU3llCeleh5K9w","title":"Implement Authentication Flow API using Express","pathname":"/customization/custom-ui/implement-authentication-flow-api-using-express","siteSpaceId":"sitesp_5Z0MS","description":"This post provides a simple guide for implementing a custom email + password login and signup pages using Authentication Flow API and Express.","breadcrumbs":[{"label":"Customization"},{"label":"Custom UI"}]},{"id":"He7jrk5pGyIal720Wguq","title":"Implement Authentication Flow API using PHP","pathname":"/customization/custom-ui/implement-authentication-flow-api-using-php","siteSpaceId":"sitesp_5Z0MS","description":"This guide shows how to setup custom login and signup pages using Authentication flow API.","breadcrumbs":[{"label":"Customization"},{"label":"Custom UI"}]},{"id":"riCnWMQbTVvEYPkPMMEg","title":"Add Custom Login/Signup UI to Native Apps","pathname":"/customization/custom-ui/add-custom-login-signup-ui-to-native-apps","siteSpaceId":"sitesp_5Z0MS","description":"This guide shows how to use Custom Login/Signup pages UI in Native Apps","breadcrumbs":[{"label":"Customization"},{"label":"Custom UI"}]},{"id":"3BJcM7wSGfocpInurguW","title":"Manually Link OAuth Provider using Account Management API","pathname":"/customization/custom-ui/manually-link-oauth-provider-using-account-management-api","siteSpaceId":"sitesp_5Z0MS","description":"Use the Account Management API to link OAuth provider.","breadcrumbs":[{"label":"Customization"},{"label":"Custom UI"}]},{"id":"NtSatGAwv60Qt9JPWWmh","title":"Implement a custom account recovery UI using Authentication Flow API","pathname":"/customization/custom-ui/implement-a-custom-account-recovery-ui-using-authentication-flow-api","siteSpaceId":"sitesp_5Z0MS","description":"Guide on how to implement your own account recovery UI powered by the Authentication Flow API","breadcrumbs":[{"label":"Customization"},{"label":"Custom UI"}]},{"id":"-Mf6h1AzUFc19C5OIo__","title":"Custom Domain","pathname":"/customization/custom-domain","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Customization"}]},{"id":"vriSZRAXpMla8hfat9Jy","title":"Custom Email and SMS Templates","pathname":"/customization/custom-email-and-sms-templates","siteSpaceId":"sitesp_5Z0MS","description":"Modify the template for emails and SMS messages for your Authgear project.","breadcrumbs":[{"label":"Customization"}]},{"id":"-Mfm3C_gb_y5BLcx8ke6","title":"Custom Email Provider","pathname":"/customization/custom-email-provider","siteSpaceId":"sitesp_5Z0MS","description":"Optimize for email deliverability by using your own SMTP server to send Authgear Emails (such as forgot password, verifications) in your own domains.","breadcrumbs":[{"label":"Customization"}]},{"id":"RcNFTBACdKtHQpixIXMQ","title":"Custom SMS Provider","pathname":"/customization/custom-sms-provider","siteSpaceId":"sitesp_5Z0MS","description":"Guides for changing the default SMS provider to your own custom provider","breadcrumbs":[{"label":"Customization"}]},{"id":"ME7UXnDzfnis95aMVBsi","title":"Twilio","pathname":"/customization/custom-sms-provider/twilio","siteSpaceId":"sitesp_5Z0MS","description":"Use custom Twilio account as SMS provider for communication with the users.","breadcrumbs":[{"label":"Customization"},{"label":"Custom SMS Provider"}]},{"id":"T4l3QTGPe0NQgak9dE0M","title":"Webhook/Custom Script","pathname":"/customization/custom-sms-provider/webhook-custom-script","siteSpaceId":"sitesp_5Z0MS","description":"Connect with any SMS providers with webhook or custom scripts for communication with the users.","breadcrumbs":[{"label":"Customization"},{"label":"Custom SMS Provider"}]},{"id":"2qsDQNTNklW6AVRLRKKA","title":"Events and Hooks","pathname":"/customization/events-hooks","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Customization"}]},{"id":"7goLkppzd0Dr8AfQP6Jr","title":"Blocking Events","pathname":"/customization/events-hooks/blocking-events","siteSpaceId":"sitesp_5Z0MS","description":"Blocking events are triggered before the operation is performed.","breadcrumbs":[{"label":"Customization"},{"label":"Events and Hooks"}]},{"id":"AQMhM7zFwNc8xsoS3MR0","title":"Non-blocking Events","pathname":"/customization/events-hooks/non-blocking-events","siteSpaceId":"sitesp_5Z0MS","description":"Non-blocking events are delivered asynchronously after the operation is performed.","breadcrumbs":[{"label":"Customization"},{"label":"Events and Hooks"}]},{"id":"6rI0nQo8sKDunkVC0zP0","title":"JavaScript / TypeScript Hooks","pathname":"/customization/events-hooks/denohooks","siteSpaceId":"sitesp_5Z0MS","description":"JavaScript / TypeScript Hooks is one of the supported hooks to receive events.","breadcrumbs":[{"label":"Customization"},{"label":"Events and Hooks"}]},{"id":"S6D23nSxWyBSZOI0P2Fd","title":"Webhooks","pathname":"/customization/events-hooks/webhooks","siteSpaceId":"sitesp_5Z0MS","description":"Use Webhooks for your Authgear project","breadcrumbs":[{"label":"Customization"},{"label":"Events and Hooks"}]},{"id":"Dw7n1bsRWzL1saUg60Xq","title":"AMR (Authentication Method Reference)","pathname":"/customization/events-hooks/amr","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Customization"},{"label":"Events and Hooks"}]},{"id":"SX5mQwsKAEoqTO85Pf2z","title":"Examples: Common Use Cases","pathname":"/customization/events-hooks/examples-common-use-cases","siteSpaceId":"sitesp_5Z0MS","description":"Common usage of events and hooks to modify the behavior of an authentication on Authgear","breadcrumbs":[{"label":"Customization"},{"label":"Events and Hooks"}]},{"id":"p6eb4NEgy8YKXexqxtvH","title":"Monitor","pathname":"/admin-and-operations/monitor","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Admin & Operations"}]},{"id":"83ujfObB7Kio4Dq6ZbID","title":"Audit Log For Users Activities","pathname":"/admin-and-operations/monitor/audit-log","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Admin & Operations"},{"label":"Monitor"}]},{"id":"nN9BMGZLyDZY8cZJjxAj","title":"Audit Log for Admin API and Portal","pathname":"/admin-and-operations/monitor/audit-log-for-admin-api-and-portal","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Admin & Operations"},{"label":"Monitor"}]},{"id":"xZRtbQj09H1Ftx23MLhY","title":"Analytics","pathname":"/admin-and-operations/monitor/analytics","siteSpaceId":"sitesp_5Z0MS","description":"See information about the total number users and active users on your Authgear project","breadcrumbs":[{"label":"Admin & Operations"},{"label":"Monitor"}]},{"id":"fpsQ4BNZDIocNBCzk3XJ","title":"User Management","pathname":"/admin-and-operations/user-management","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Admin & Operations"}]},{"id":"g4bmj0mZYOsvTJoTHYau","title":"Account Deletion","pathname":"/admin-and-operations/user-management/account-deletion","siteSpaceId":"sitesp_5Z0MS","description":"Allow end-users to initiate account deletion within the apps.","breadcrumbs":[{"label":"Admin & Operations"},{"label":"User Management"}]},{"id":"IIQIgKh3tbCKZomxUtaX","title":"Import Users using User Import API","pathname":"/admin-and-operations/user-management/import-users-using-user-import-api","siteSpaceId":"sitesp_5Z0MS","description":"Use the user import API to bulk import users from external systems to your Authgear project","breadcrumbs":[{"label":"Admin & Operations"},{"label":"User Management"}]},{"id":"LyndQS4hjRW1PH9xi7Qk","title":"Export Users using the User Export API","pathname":"/admin-and-operations/user-management/export-users-using-the-user-export-api","siteSpaceId":"sitesp_5Z0MS","description":"Export users from your project into a CSV or JSON file","breadcrumbs":[{"label":"Admin & Operations"},{"label":"User Management"}]},{"id":"puzr45aBNHCk1WHQkJ5f","title":"Manage Users Roles and Groups","pathname":"/admin-and-operations/user-management/manage-users-roles-and-groups","siteSpaceId":"sitesp_5Z0MS","description":"Define and manage roles and groups that you can apply to your users","breadcrumbs":[{"label":"Admin & Operations"},{"label":"User Management"}]},{"id":"fVUnTwpfglPCRkbDlaqX","title":"Disable User","pathname":"/admin-and-operations/user-management/disable-user","siteSpaceId":"sitesp_5Z0MS","description":"Temporarily or permanently suspend a user’s ability to log in and use the system","breadcrumbs":[{"label":"Admin & Operations"},{"label":"User Management"}]},{"id":"ESRO0tlHCN2n6LYUMA6H","title":"Account Valid Period","pathname":"/admin-and-operations/user-management/account-valid-period","siteSpaceId":"sitesp_5Z0MS","description":"Use account valid period to manage temporary access","breadcrumbs":[{"label":"Admin & Operations"},{"label":"User Management"}]},{"id":"2BXpoj5TL4J6jzJ9c0Wq","title":"Migration","pathname":"/admin-and-operations/migration","siteSpaceId":"sitesp_5Z0MS","description":"Strategy for migrating from another auth provider to Authgear.","breadcrumbs":[{"label":"Admin & Operations"}]},{"id":"XjhoZLdWd0nzu5mAuHLy","title":"Bulk migration","pathname":"/admin-and-operations/migration/bulk-migration","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Admin & Operations"},{"label":"Migration"}]},{"id":"17QlHc3dJSTFUfqaeTDI","title":"Rolling migration","pathname":"/admin-and-operations/migration/rolling-migration","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Admin & Operations"},{"label":"Migration"}]},{"id":"c5azWGDrW4a34llSBfEa","title":"Zero-downtime migration","pathname":"/admin-and-operations/migration/zero-downtime-migration","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Admin & Operations"},{"label":"Migration"}]},{"id":"OsDRDpPf9ytoLfZU2gO2","title":"Brute-force Protection","pathname":"/security/brute-force-protection","siteSpaceId":"sitesp_5Z0MS","description":"Account Lockout Policy safeguards attacks towards a user account from brute-force login attempts","breadcrumbs":[{"label":"Security"}]},{"id":"HQymTVvB9HYahOVfgpg4","title":"Bot Protection","pathname":"/security/bot-protection","siteSpaceId":"sitesp_5Z0MS","description":"Use bot protection tools to block automated attackers","breadcrumbs":[{"label":"Security"}]},{"id":"FKQ2qShtXhljjF8Hl5Wh","title":"IP Blocklist","pathname":"/security/ip-blocklist","siteSpaceId":"sitesp_5Z0MS","description":"IP Blocklist allows you to block incoming traffic based on IP addresses or geographic regions.","breadcrumbs":[{"label":"Security"}]},{"id":"-MMz9Jo4Fej4A1KAB3WU","title":"Non-HTTP scheme redirect URI","pathname":"/security/redirect-uri","siteSpaceId":"sitesp_5Z0MS","description":"Implication of using non-HTTP scheme in redirect URI.","breadcrumbs":[{"label":"Security"}]},{"id":"W76DJHbIcobLbeXOamw8","title":"Sender Constraining","pathname":"/security/sender-constraining","siteSpaceId":"sitesp_5Z0MS","description":"Sender constrain refresh tokens in Authgear","breadcrumbs":[{"label":"Security"}]},{"id":"iGo5drqVFoxJENnQGaY6","title":"APIs","pathname":"/reference/apis","siteSpaceId":"sitesp_5Z0MS","description":"Authgear exposes APIs for developers to manage their applications programmatically","breadcrumbs":[{"label":"Reference"}]},{"id":"-MIYNt0W2zOJ7kyh3ELv","title":"Admin API","pathname":"/reference/apis/admin-api","siteSpaceId":"sitesp_5Z0MS","description":"The Admin API allows your server to manage users via a GraphQL endpoint.","breadcrumbs":[{"label":"Reference"},{"label":"APIs"}]},{"id":"7JLC4nPM02yI1pBUTVUF","title":"Authentication and Security","pathname":"/reference/apis/admin-api/authentication-and-security","siteSpaceId":"sitesp_5Z0MS","description":"The Admin API is protected by cryptographic keys. Learn how to generate a valid JWT to authorize your request in this article.","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"Admin API"}]},{"id":"1rc0ms4aPMzzq8ri6zlD","title":"API Schema","pathname":"/reference/apis/admin-api/api-schema","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"Admin API"}]},{"id":"k9OsUIA7hmhGI2gB4Ilq","title":"API Queries and Mutations","pathname":"/reference/apis/admin-api/api-queries-and-mutations","siteSpaceId":"sitesp_5Z0MS","description":"In this section of the Authgear documentation, you'll learn about all the GraphQL queries and mutations the Admin API supports.","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"Admin API"}]},{"id":"R4kJ8fBRLZrQb7Y6y6Ft","title":"Using global node IDs","pathname":"/reference/apis/admin-api/using-global-node-ids","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"Admin API"}]},{"id":"gWOdivVvaMRWgQBtyovb","title":"Retrieving users using Admin API","pathname":"/reference/apis/admin-api/retrieving-users-using-admin-api","siteSpaceId":"sitesp_5Z0MS","description":"Overview and examples for the getUser/getUsers queries","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"Admin API"}]},{"id":"E6nXEEROK7hy9dEMkUIx","title":"API Examples","pathname":"/reference/apis/admin-api/api-examples","siteSpaceId":"sitesp_5Z0MS","description":"Learn how to perform common actions from the examples","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"Admin API"}]},{"id":"0S9z7XG5vraK3ofA8JqO","title":"Generate OTP code","pathname":"/reference/apis/admin-api/api-examples/generate-otp-code","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"Admin API"},{"label":"API Examples"}]},{"id":"4jbNYONDGUwXQH7NFmN0","title":"Search for users","pathname":"/reference/apis/admin-api/api-examples/search-for-users","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"Admin API"},{"label":"API Examples"}]},{"id":"li5qA139VebgACS0hvUa","title":"Update user's picture","pathname":"/reference/apis/admin-api/api-examples/update-users-picture","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"Admin API"},{"label":"API Examples"}]},{"id":"vggn7VGRqeorypPIpKHA","title":"Update user's standard attributes","pathname":"/reference/apis/admin-api/api-examples/update-users-standard-attributes","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"Admin API"},{"label":"API Examples"}]},{"id":"nsk1v8G0R0wy27kc9zq3","title":"Authentication Flow API","pathname":"/reference/apis/authentication-flow-api","siteSpaceId":"sitesp_5Z0MS","description":"API reference detailing all endpoints, inputs and results supported by the Authentication Flow API.","breadcrumbs":[{"label":"Reference"},{"label":"APIs"}]},{"id":"OUgI3ikOasP4IFbedFTy","title":"OAuth 2.0 and OpenID Connect (OIDC)","pathname":"/reference/apis/oauth-2.0-and-openid-connect-oidc","siteSpaceId":"sitesp_5Z0MS","description":"Reference for configurations and endpoints in the industry-standard protocols OAuth 2.0 or OpenID Connect.","breadcrumbs":[{"label":"Reference"},{"label":"APIs"}]},{"id":"HUBZzycWqWU3Vwow6kd6","title":"Supported Scopes","pathname":"/reference/apis/oauth-2.0-and-openid-connect-oidc/supported-scopes","siteSpaceId":"sitesp_5Z0MS","description":"Details about the OAuth 2.0 Scopes Authgear supports","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"OAuth 2.0 and OpenID Connect (OIDC)"}]},{"id":"V6H82VuHYhryj6UYviJz","title":"UserInfo","pathname":"/reference/apis/oauth-2.0-and-openid-connect-oidc/userinfo","siteSpaceId":"sitesp_5Z0MS","description":"Complete list of information in the UserInfo endpoint response.","breadcrumbs":[{"label":"Reference"},{"label":"APIs"},{"label":"OAuth 2.0 and OpenID Connect (OIDC)"}]},{"id":"pzmXW4l9G1tqRn3edVKi","title":"User Import API","pathname":"/reference/apis/user-import-api","siteSpaceId":"sitesp_5Z0MS","description":"API Reference for the  User Import API that developers can use to bulk import users from another system to their Authgear project.","breadcrumbs":[{"label":"Reference"},{"label":"APIs"}]},{"id":"kysbTgiYHQYX2ymctcn1","title":"User Export API","pathname":"/reference/apis/user-export-api","siteSpaceId":"sitesp_5Z0MS","description":"API Reference for the User Export API","breadcrumbs":[{"label":"Reference"},{"label":"APIs"}]},{"id":"8wpr3WP0iwkZvbLWoQy9","title":"Tokens","pathname":"/reference/tokens","siteSpaceId":"sitesp_5Z0MS","description":"Description of what's in Authgear's JWT access token and UserInfo endpoint response.","breadcrumbs":[{"label":"Reference"}]},{"id":"X9K86FdtBnV15lLZZ7MI","title":"JWT Access Token","pathname":"/reference/tokens/jwt-access-token","siteSpaceId":"sitesp_5Z0MS","description":"Claims in JWT Access Token","breadcrumbs":[{"label":"Reference"},{"label":"Tokens"}]},{"id":"BUvPRlhhQffnGYGj953U","title":"Refresh Token","pathname":"/reference/tokens/refresh-token","siteSpaceId":"sitesp_5Z0MS","description":"Learn about refresh token, how to get a refresh token and how to use it to get a new access token.","breadcrumbs":[{"label":"Reference"},{"label":"Tokens"}]},{"id":"LhSPW29FkjYbiBSUdtal","title":"M2M Tokens","pathname":"/reference/tokens/m2m-tokens","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Tokens"}]},{"id":"tMfm1054zaeO3dXanWhH","title":"Rate Limits","pathname":"/reference/rate-limits","siteSpaceId":"sitesp_5Z0MS","description":"Learn about the rate limits for different services and resources.","breadcrumbs":[{"label":"Reference"}]},{"id":"PVG77k76NyOo3kUDjvG0","title":"Account Lockout","pathname":"/reference/rate-limits/account-lockout","siteSpaceId":"sitesp_5Z0MS","description":"Learn about default way account lockout works, and how to customise lockout limits","breadcrumbs":[{"label":"Reference"},{"label":"Rate Limits"}]},{"id":"Q4Ju8lYpyZ0iywMfXkQL","title":"Glossary","pathname":"/reference/glossary","siteSpaceId":"sitesp_5Z0MS","description":"Definitions of the most common technical terms you will come across while working with Authgear and implementing user authentication to your application.","breadcrumbs":[{"label":"Reference"}]},{"id":"vETcDdur3H4aGAGMoV8H","title":"Billing FAQ","pathname":"/reference/billing-faq","siteSpaceId":"sitesp_5Z0MS","description":"Frequently asked questions on how billing works on Authgear","breadcrumbs":[{"label":"Reference"}]},{"id":"aRj42dAjyxprqH3wm5jv","title":"What is Authgear ONCE","pathname":"/authgear-once/what-is-authgear-once","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Authgear ONCE"}]},{"id":"82tM6WwrmQzaJw9RNHad","title":"Install Authgear ONCE on a VM","pathname":"/authgear-once/install-authgear-once-on-a-vm","siteSpaceId":"sitesp_5Z0MS","description":"General guide on installing Authgear ONCE","breadcrumbs":[{"label":"Authgear ONCE"}]},{"id":"qOKfvpbt9HUCL4COldyz","title":"Install Authgear ONCE on Amazon Web Services (AWS)","pathname":"/authgear-once/install-authgear-once-on-amazon-web-services-aws","siteSpaceId":"sitesp_5Z0MS","description":"Guide on how to install Authgear ONCE on an AWS EC2 Instance","breadcrumbs":[{"label":"Authgear ONCE"}]},{"id":"0mgfqBSUmX3a7EXP57pL","title":"Install Authgear ONCE on Vultr","pathname":"/authgear-once/install-authgear-once-on-vultr","siteSpaceId":"sitesp_5Z0MS","description":"Step-by-step guide for installing Authgear ONCE on Vultr VM","breadcrumbs":[{"label":"Authgear ONCE"}]},{"id":"7sLKKPdktJ5O1sHRfRFJ","title":"Identity Fundamentals","pathname":"/concepts/identity-fundamentals","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Concepts"}]},{"id":"AFXhthRxGdEEe5gcUkcg","title":"Authgear use cases","pathname":"/concepts/authgear-use-cases","siteSpaceId":"sitesp_5Z0MS","description":"Take a look at just a few of Authgear's use cases","breadcrumbs":[{"label":"Concepts"}]},{"id":"-MGbwMD0FWWMIdiicMCE","title":"User, Identity and Authenticator","pathname":"/concepts/user-identity-and-authenticator","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Concepts"}]},{"id":"-MAjbj-c410dF1jCH8i4","title":"Run with Docker","pathname":"/deployment/local","siteSpaceId":"sitesp_5Z0MS","description":"How to run locally with Docker.","breadcrumbs":[{"label":"Deployment"}]},{"id":"c4clmqzHxcQ02HVuiR96","title":"Deploy with Helm chart","pathname":"/deployment/helm","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Deployment"}]},{"id":"-MbFM4k4_n1lZmQDiKK-","title":"Authenticating HTTP request with Nginx","pathname":"/deployment/auth-nginx","siteSpaceId":"sitesp_5Z0MS","description":"How to authenticate HTTP request with Nginx","breadcrumbs":[{"label":"Deployment"}]},{"id":"-MAjbj-gRTwkBg2-hNX_","title":"Configuration","pathname":"/deployment/configuration","siteSpaceId":"sitesp_5Z0MS","description":"How Authgear is configured","breadcrumbs":[{"label":"Deployment"}]},{"id":"-MAjbj-hbHpF2I7T8dkM","title":"Environment Variables","pathname":"/deployment/configuration/env","siteSpaceId":"sitesp_5Z0MS","description":"Environment variables provides global configuration","breadcrumbs":[{"label":"Deployment"},{"label":"Configuration"}]},{"id":"5JcessnNNHrhpw20BBHo","title":"authgear.yaml","pathname":"/deployment/configuration/authgear.yaml","siteSpaceId":"sitesp_5Z0MS","description":"This is the main configuration file affecting every aspect of Authgear.","breadcrumbs":[{"label":"Deployment"},{"label":"Configuration"}]},{"id":"7HUdrhGSk5Fy2jgbvyQE","title":"authgear.secrets.yaml","pathname":"/deployment/configuration/authgear.secrets.yaml","siteSpaceId":"sitesp_5Z0MS","description":"This is the configuration file containing various secrets used in Authgear.","breadcrumbs":[{"label":"Deployment"},{"label":"Configuration"}]},{"id":"zXFv6umFMWXUEB2dVvHn","title":"Architecture Guides","pathname":"/deployment/architecture-guides","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Deployment"}]},{"id":"lp9oPxRf6qNC1Wjm3C8I","title":"AWS Reference Architecture","pathname":"/deployment/architecture-guides/aws-reference-architecture","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Architecture Guides"}]},{"id":"jn8xCu4JaOT2iwM5cGGy","title":"Azure Reference Architecture","pathname":"/deployment/architecture-guides/azure-reference-architecture","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Architecture Guides"}]},{"id":"u3rMb49nGtHbozDw4KNw","title":"Google Cloud Reference Architecture","pathname":"/deployment/architecture-guides/google-cloud-reference-architecture","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Architecture Guides"}]},{"id":"7KrXwiA9st2oMRZv6Fou","title":"On-Premises Reference Architecture","pathname":"/deployment/architecture-guides/on-premises-reference-architecture","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Architecture Guides"}]},{"id":"hdpUk6wuMXWa4C57By2d","title":"Throughput Scaling Reference","pathname":"/deployment/architecture-guides/throughput-scaling-reference","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Architecture Guides"}]},{"id":"JN1f5QAq1TJVBQ9o1aHb","title":"How to Fix SubtleCrypto: digest() undefined Error in Authgear SDK","pathname":"/troubleshooting/how-to-fix-subtlecrypto-digest-undefined-error-in-authgear-sdk","siteSpaceId":"sitesp_5Z0MS","description":"Guide on how to fix SubtleCrypto: digest() non-HTTPS/Secure context Error in Authgear SDK","breadcrumbs":[{"label":"Troubleshooting"}]},{"id":"NmQv5yhJfp5iO6vYH5DC","title":"How to Fix CORS Error","pathname":"/troubleshooting/how-to-fix-cors-error","siteSpaceId":"sitesp_5Z0MS","description":"","breadcrumbs":[{"label":"Troubleshooting"}]}]}