திறந்த தரநிலைகளில், உங்கள் ஆப்ஸுக்கான அடையாளம்
உங்களை உள்ளே அழைத்துச் செல்கிறது.
ஒரே கணக்கு. எல்லாக் கதவுகளும்.
Usher Identity உங்கள் ஆப்ஸில் மக்களை OpenID Connect, OAuth 2.1 மூலம் உள்நுழையச் செய்கிறது: கடவுச்சாவிகள், குறியீடுகள், சமூகக் கணக்கு உள்நுழைவு, நிறுவனங்கள், ஒவ்வொரு சூழலும் மற்ற எல்லாவற்றிலிருந்தும் தனித்து வைக்கப்பட்டு.
தொடங்க இலவசம். உங்கள் சொந்த சர்வர்களிலும் இயங்கும்.
- OpenID Connect
- OAuth 2.1
- PKCE
- WebAuthn
- JWKS
- DPoP
- TOTP
லாபி
விசாரிக்காமல், வரவேற்கும் உள்நுழைவுப் பக்கம்.
லாபி என்பது Usher Identity உங்கள் ஆப்ஸுக்காக வழங்கும் உள்நுழைவுப் பக்கம். அந்த நபர் எங்கே செல்கிறார் என்பதை அது எப்போதும் சொல்லும், எந்த ஆப்ஸ் அனுப்பினாலும் ஒரே மாதிரித் தோன்றும், எனவே மக்கள் அதை நம்பக் கற்றுக்கொள்கிறார்கள்.
- நீங்கள் செல்லும் தயாரிப்பின் பெயரை ஒவ்வொரு முறையும் சொல்லும்.
- கடவுச்சாவிகள், மின்னஞ்சலில் வரும் குறியீடுகள், மேஜிக் இணைப்புகள், நீங்கள் விரும்பினால் மட்டும் கடவுச்சொற்கள்.
- ஒவ்வொரு தயாரிப்பிலும், லைட்டிலோ டார்க்கிலோ, அதே அமைதியான பக்கம்.
இது லாபியின் செயல்படும் நகல். இது இந்தப் பக்கத்துக்குள்ளேயே இயங்குகிறது, எதையும் அனுப்பாது, யாரையும் உள்நுழையச் செய்யாது.
தரநிலைகள், கட்டிப்போடுதல் அல்ல
உங்கள் ஸ்டாக்குக்கு ஏற்கெனவே தெரிந்த நெறிமுறைகளைப் பேசுகிறது.
Usher Identity முதலில் ஒரு OpenID Connect வழங்குநர். உங்களுக்குப் பொருந்தும்போது எங்கள் SDK-ஐப் பயன்படுத்துங்கள், அல்லது எந்த மொழியிலும் எந்த OIDC லைப்ரரியையும் பயன்படுத்துங்கள். நீங்கள் எப்போதாவது விலகினாலும், உங்கள் ஆப்ஸ் மக்களை உள்நுழையச் செய்யும் விதத்தை மாற்ற வேண்டியதில்லை.
- OIDC Core · Discovery
OpenID Connect
ஒவ்வொரு சூழலுக்கும் ஒரு டிஸ்கவரி ஆவணம், ID டோக்கன்கள், userinfo. சான்றளிக்கப்பட்ட எந்த கிளையன்ட் லைப்ரரியும் வேலை செய்யும்.
- S256 மட்டும்
PKCE உடன் OAuth 2.1
பொது அல்லது ரகசியம் என எந்த கிளையன்ட்டாக இருந்தாலும், PKCE உடன் அங்கீகாரக் குறியீடு. இம்ப்ளிசிட் ஃப்ளோ இல்லை, டோக்கன் எண்ட்பாயிண்ட்டில் கடவுச்சொற்கள் இல்லை.
- RS256 · ES256 · EdDSA
JWKS, விசைச் சுழற்சி
ஒவ்வொரு சூழலும் தனக்கே உரிய விசைகளால் கையொப்பமிடுகிறது, அவை அதன் jwks_uri இல் வெளியிடப்படுகின்றன. உள்நுழைந்துள்ளவர்களைப் பாதிக்காமல் அவற்றைச் சுழற்றலாம்.
- RFC 7662 · RFC 7009
இன்ட்ரோஸ்பெக்ஷன், திரும்பப்பெறுதல்
ஒரு டோக்கன் இன்னும் செல்லுபடியாகிறதா என்று கேளுங்கள், அல்லது இப்போதே அதை முடியுங்கள். Usher Identity ஒவ்வொரு கோரிக்கையிலும் தனது அமர்வுகளைச் சரிபார்க்கிறது, எனவே ஒன்றை முடித்தால் அது உடனே நடைமுறைக்கு வரும்.
RP தொடங்கும் வெளியேறுதலும் பேக்-சேனல் வெளியேறுதலும்
உங்கள் ஆப்ஸிலிருந்து வெளியேறுங்கள், அல்லது எங்காவது ஓர் அமர்வு முடியும்போது ஒவ்வொரு ஆப்ஸுக்கும் Usher Identity தெரிவிக்கட்டும்.
- RFC 9449
DPoP
கிளையன்ட் வைத்திருக்கும் ஒரு விசையுடன் டோக்கன்களைப் பிணையுங்கள், அப்போது திருடப்பட்ட டோக்கன் தனியாகப் பயனற்றது.
- WebAuthn
கடவுச்சாவிகள்
முதல்தர அம்சம், கூடுதல் இணைப்பு அல்ல. மக்கள் கைரேகை, முகம் அல்லது பாதுகாப்பு விசை மூலம் உள்நுழைகிறார்கள், ஃபிஷிங் செய்ய எதுவும் இல்லை.
- TOTP
அங்கீகரிப்பு ஆப்ஸ்
எந்த அங்கீகரிப்பு ஆப்ஸிலிருந்தும் நேர அடிப்படையிலான குறியீடுகள், காப்புக் குறியீடுகளுடன். இரண்டாம் காரணியை விருப்பத்தேர்வாகவோ கட்டாயமாகவோ ஆக்குங்கள்.
மேஜிக் இணைப்புகள்
இன்பாக்ஸிலிருந்து ஒரே தட்டல். குறுகிய ஆயுள், ஒருமுறை மட்டும் பயன்படும், அனுப்பிய சூழலுடன் பிணைக்கப்பட்டவை.
மின்னஞ்சல் குறியீடுகள்
ஒரு சாதனத்தில் உள்நுழைந்து மற்றொன்றில் மின்னஞ்சல் படிப்பவர்களுக்கு, ஆறு இலக்கங்கள்.
சமூகக் கணக்கு உள்நுழைவு
Google, GitHub, Microsoft, Apple. ஒரு கணக்கின் மின்னஞ்சல் நிரூபிக்கப்பட்டால் மட்டுமே அது இணைக்கப்படும்.
நிறுவனங்கள், குழுக்கள்
உங்கள் ஆப்ஸைப் பயன்படுத்தும் வணிகங்களுக்கான உறுப்பினர்கள், பங்குகள், அழைப்புகள்.
- விரைவில்
SAML
உங்கள் வாடிக்கையாளர்களின் பணியாளர் அடையாள வழங்குநர்களுடன் ஒற்றை உள்நுழைவு.
- விரைவில்
SCIM
உங்கள் வாடிக்கையாளர்களின் டைரக்டரிகளிலிருந்து கணக்குகளை வழங்குதலும் நீக்குதலும்.
உள்நுழைவு எப்படிச் செயல்படுகிறது
ஐந்து படிகள், ஒவ்வொன்றும் தரநிலை.
இது PKCE உடன் கூடிய OpenID Connect-இன் அங்கீகாரக் குறியீட்டு ஃப்ளோ, எல்லா முன்னணி அடையாள வழங்குநர்களும் பேசும் அதே ஃப்ளோ. ஸ்க்ரோல் செய்து பாருங்கள்.
- 01
உங்கள் ஆப்ஸ் அவர்களை லாபிக்கு அனுப்புகிறது.
ஒருவர் Usher Identity மூலம் தொடர் என்பதைத் தேர்ந்தெடுக்கும்போது, உங்கள் ஆப்ஸ் அவரை உங்கள் சூழலின் அங்கீகார எண்ட்பாயிண்ட்டுக்குத் திசைதிருப்புகிறது, ஒரு PKCE சவாலுடனும், பின்னர் சரிபார்க்கப்போகும் ஒரு state மதிப்புடனும்.
GET acme.usherid.com/api/auth/oauth2/authorize ?response_type=code &client_id=acme_web &redirect_uri=https://app.acme.example/callback &scope=openid profile email offline_access &state=k3Jx… &code_challenge=E9Mel…cM &code_challenge_method=S256
- 02
அவர்கள் தங்கள் வழியில் உள்நுழைகிறார்கள்.
கடவுச்சாவி, மின்னஞ்சலில் வரும் குறியீடு, மேஜிக் இணைப்பு, சமூகக் கணக்கு அல்லது கடவுச்சொல்: உங்கள் சூழல் அனுமதிப்பதை மட்டுமே லாபி வழங்குகிறது, அவர்கள் எந்த ஆப்ஸுக்குச் செல்கிறார்கள் என்பதை எப்போதும் சொல்கிறது.
Usher IdentityUsher Identityதொடர்வது: Acmeமீண்டும் வருக.
கடவுச்சாவியைப் பயன்படுத்துஎனக்குக் குறியீட்டை மின்னஞ்சலில் அனுப்பு - 03
பகிர அவர்கள் ஒப்புக்கொள்கிறார்கள்.
முதல் முறை, உங்கள் ஆப்ஸ் எதைக் கேட்கிறது (அவர்களின் சுயவிவரம், மின்னஞ்சல், உள்நுழைந்தே இருத்தல்) என்பதை மக்கள் பார்த்து, ஒருமுறை ஒப்புக்கொள்கிறார்கள்.
Acme பின்வருவனவற்றைச் செய்ய விரும்புகிறது:
- உங்கள் பெயரையும் படத்தையும் பார்க்க
- உங்கள் மின்னஞ்சல் முகவரியைப் பார்க்க
- உங்களை உள்நுழைந்த நிலையிலேயே வைத்திருக்க
ரத்துசெய்அனுமதி - 04
Usher Identity ஒரு குறியீட்டைத் திருப்பித் தருகிறது.
ஐந்து நிமிடங்கள் நீடிக்கும் ஒருமுறைக் குறியீட்டுடனும், நீங்கள் அனுப்பிய state உடனும் பிரவுசர் உங்கள் திசைதிருப்பு URI-க்குத் திரும்புகிறது, உங்கள் ஆப்ஸ் அதைச் சரிபார்க்கிறது.
302 Found Location: https://app.acme.example/callback ?code=SplxlOBeZQQYbYS6WxSbIA &state=k3Jx…
- 05
உங்கள் ஆப்ஸ் அதை டோக்கன்களாக மாற்றுகிறது.
உங்கள் சர்வர் குறியீட்டையும் PKCE சரிபார்ப்பியையும் டோக்கன் எண்ட்பாயிண்ட்டுக்கு அனுப்புகிறது. அவர்கள் யார் என்று சொல்லும் ID டோக்கன், உங்கள் API-க்கான அணுகல் டோக்கன், உள்நுழைந்தே இருக்க ரிஃப்ரெஷ் டோக்கன் ஆகியவை திரும்ப வருகின்றன.
POST acme.usherid.com/api/auth/oauth2/token grant_type=authorization_code&code=Splx… &code_verifier=dBjftJeZ4CVP… { "token_type": "Bearer", "access_token": "eyJhbGciOiJSUzI1NiIs…", "id_token": "eyJhbGciOiJSUzI1NiIs…", "refresh_token": "8xLOxBtZp8…", "expires_in": 600 }
வடிவமைப்பிலேயே தனிமைப்படுத்தல்
ஒவ்வொரு சூழலும் தனக்கென ஒரு தனிக் கட்டடம்.
உங்கள் புரொடக்ஷன், டெவலப்மென்ட் சூழல்களும் மற்ற ஒவ்வொரு வாடிக்கையாளரின் சூழல்களும் முக்கியமான எதையும் பகிர்வதில்லை. ஒன்றில் நடக்கும் தவறு மற்றொன்றைப் படிக்கவோ, அதற்காகக் கையொப்பமிடவோ, அதில் உள்நுழையவோ முடியாது.
- தனக்கே உரிய Postgres ஸ்கீமா
- பகிரப்பட்ட அட்டவணையில் ஒரு டெனன்ட் நெடுவரிசை அல்ல: அந்தச் சூழலுக்காகவே உருவாக்கப்பட்ட ஸ்கீமா, அதில் வேறு எதுவும் இல்லை.
- தனக்கே உரிய கையொப்ப விசைகள்
- ஒரு சூழலின் டோக்கன்களை இன்னொரு சூழலின் விசைகளைக் கொண்டு ஒருபோதும் சரிபார்க்க முடியாது.
- தனக்கே உரிய முத்திரையிட்ட ரகசியங்கள்
- சூழலுக்கே உரிய தரவு விசையால் முத்திரையிடப்படுகின்றன, அந்த விசையே ஒரு முதன்மை விசையால் பொதியப்பட்டுள்ளது.
- தனக்கே உரிய ஹோஸ்ட்
- இஷ்யூவர்கள் Usher இணையதளம், Console ஆகியவற்றிலிருந்து தனி டொமைனில், ஹோஸ்ட்-மட்டும் குக்கீகளுடன் இருக்கின்றன.
usheridentity.com
இணையதளம், Usher Identity Console, Usher Identity கணக்குகள்
*.usherid.com
ஒவ்வொரு சூழலுக்கும் ஒரு இஷ்யூவர், தனி டொமைனில்
பயனர்கள், அமர்வுகள், டோக்கன்கள் இந்தச் சூழலுக்காக உருவாக்கப்பட்ட ஸ்கீமாவில் இருக்கின்றன. வினவல்கள் அந்த ஸ்கீமாவில் இயங்குகின்றன, டெனன்ட் நெடுவரிசை கொண்ட பகிரப்பட்ட அட்டவணையில் ஒருபோதும் அல்ல.
Acme புரொடக்ஷன் சூழலின் முத்திரையிட்ட Google கிளையன்ட் ரகசியத்தை Northwind புரொடக்ஷன் சூழலுக்கு நகலெடு.
டெவலப்பர்களுக்கு
உங்கள் முதல் உள்நுழைவு, மூன்று வழிகளில்.
SDK வந்ததும் அதைச் சேர்த்துக்கொள்ளுங்கள், நீங்கள் ஏற்கெனவே நம்பும் OIDC லைப்ரரியைப் பயன்படுத்துங்கள், அல்லது டிஸ்கவரி ஆவணத்தைப் படித்துத் தொடங்குங்கள். அடியில் எல்லாமே ஒரே நெறிமுறைதான்.
// app/layout.tsx
import { UsherProvider } from '@usher/nextjs'
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>
<UsherProvider>{children}</UsherProvider>
</body>
</html>
)
}
// app/page.tsx
import { SignIn, UserButton, currentUser } from '@usher/nextjs'
export default async function Page() {
const user = await currentUser()
return user ? <UserButton /> : <SignIn />
}நீங்களே இயக்குங்கள்
உங்கள் சர்வர்கள், உங்கள் விசைகள்.
Usher Identity-ஐ ஒரு சேவையாகப் பயன்படுத்துங்கள், அல்லது அதே தளத்தை உங்கள் சொந்த சர்வர்களில், உங்கள் சொந்த விசைகளுடனும் சொந்தத் தரவுத்தளத்துடனும் இயக்குங்கள்.
Docker
ஒரே Compose கோப்பு: ஆப்ஸ், Postgres, Valkey, Caddy எட்ஜ், எக்ரெஸ் ப்ராக்ஸி. கண்டெய்னர்கள் புதிய சிறப்புரிமைகள் இல்லாமலும், திறன்கள் நீக்கப்பட்டும் இயங்குகின்றன.
Ubuntu
ஒரு சாதாரண Ubuntu சர்வர் போதும். Caddy TLS-ஐ முடித்துவைக்கிறது, ரகசியங்கள் இமேஜ்களுக்குள் ஒருபோதும் சேர்க்கப்படாமல், கண்டெய்னர்களுக்குக் கோப்புகளாக வழங்கப்படுகின்றன.
Postgres
Postgres எல்லாவற்றையும் வைத்திருக்கிறது, ஒவ்வொரு சூழலுக்கும் ஒரு ஸ்கீமா. அதுவும் Valkey-யும் இணையத்துக்கு வழியில்லாத ஒரு நெட்வொர்க்கில் இருக்கின்றன.
# on an Ubuntu server with Docker Engine and the Compose plugin
bash infra/scripts/setup-env.sh --prod \
--domain usher.example --tenant-domain usherid.example
docker compose -f compose.yaml -f compose.prod.yaml \
--profile core --profile apps --profile edge up -d --wait
pnpm db:migrate # applies the database migrationsமுழுமையான சுய-ஹோஸ்டிங் வழிகாட்டி வந்துகொண்டிருக்கிறது. மேலே உள்ள கட்டளைகள் அதன் வடிவம்.
உங்கள் பயனர்களை உள்ளே அழைத்துச் செல்லுங்கள்.
ஒரு பணியிடத்தையும் ஒரு திட்டப்பணியையும் உருவாக்குங்கள். உங்கள் முதல் சூழல் அதற்கே உரிய இஷ்யூவர், விசைகள், லாபி ஆகியவற்றுடன் வரும்.
ஒருமுறை உள்நுழையுங்கள். எங்கும் வரவேற்பு.