Add Society AI sign-in to your app.
For teams building services on society-ai.org subdomains. Members only need one Society AI account, and your service does not have to build a login form, store passwords, or send its own sign-in emails.
What people look for most
- Issuer
https://accounts.society-ai.org- Discovery
https://accounts.society-ai.org/.well-known/openid-configuration- Protocol
- OpenID Connect, Authorization Code + PKCE (S256)
- Lifetimes
- Access token and ID token 15 minutes, refresh token 30 days
- Ask for keys
- Client ID and secret · support@society-ai.org
Three steps until members can sign in
- Ask for keys Create a project and a testing app in the Developer Console. The Client ID and secret show up right away.
- Add it to your app Follow the Laravel example, or use any OpenID Connect library.
- Test, then go live Try it with tester accounts on the testing version, then move to the production version.
How it works
- A member clicks "Sign in" in your service.
- The browser goes to accounts.society-ai.org. If the member is already signed in to another Society AI service, this passes without a screen.
- The browser comes back to your callback URL with a code.
- Your server swaps that code for tokens. The ID token says who the member is.
All sections
How to ask for keys, where they show up, app types, URL rules, and how to replace them.
Read Laravel guideComplete, tested code: sign-in, automatic sign-in, sign-out, and back-channel logout.
Read Other stacksNext.js, WordPress, apps without a server (SPA), mobile apps, and other libraries.
Read API referenceEvery endpoint with example requests and responses, scopes, claims, and error codes.
Read Automatic sign-in and sign-outSigning in without a click, signing out of every service, and when account changes reach your app.
Read Testing and common problemsTrying it from your laptop, problems that come up often, and a checklist before going live.
ReadThis page is public and contains no secrets. Client secrets are only handed directly to the person responsible for the app.