ഉള്ളടക്കത്തിലേക്ക് പോകുക
ഡോക്യുമെന്റേഷൻ · iOS-ഉം Android-ഉം

iOS-ഉം Android-ഉം

നേറ്റീവ് ആപ്പുകൾ ആളുകളെ സിസ്റ്റം ബ്രൗസറിൽ, അവരുടെ എൻവയോൺമെന്റിന്റെ ലോബി വഴി സൈൻ ഇൻ ചെയ്യിക്കുന്നു, ഒരിക്കലും വെബ് വ്യൂവിൽ അല്ല: ആളുകൾ അവരുടെ പാസ്‌കീകളും സേവ് ചെയ്ത പാസ്‌വേഡുകളും Usher സെഷനും ഉപയോഗിക്കുന്നു, ആപ്പ് ഒരിക്കലും പാസ്‌വേഡ് കാണുന്നില്ല. OpenID Connect-ന്റെ ബാക്കി SDK-കൾ നിങ്ങൾക്കായി ചെയ്യുന്നു, ടോക്കണുകൾ ഉപകരണത്തിൽ സൂക്ഷിക്കുന്നു.

ആപ്പ് രജിസ്റ്റർ ചെയ്യുക

Usher Console-ൽ എൻവയോൺമെന്റ് തുറക്കുക, തുടർന്ന് ആപ്ലിക്കേഷനുകൾ → പുതിയ ആപ്ലിക്കേഷൻ → മൊബൈൽ അല്ലെങ്കിൽ ഡെസ്ക്ടോപ്പ്. നിങ്ങൾക്ക് സ്വന്തമായ ഒരു ഡൊമെയ്‌നിൽ നിന്ന് നിർമ്മിച്ച ഒരു സ്വകാര്യ-ഉപയോഗ റീഡയറക്ട് നൽകുക, ഉദാഹരണത്തിന് com.example.notes:/oauth/callback. അതിന് ഒരു ക്ലയന്റ് ID ലഭിക്കും, സീക്രട്ട് ഇല്ല: ഫോണിലെ ഒരു ആപ്പിന് അത് സുരക്ഷിതമായി സൂക്ഷിക്കാനാവില്ല, അതിനാൽ പകരം PKCE ഉപയോഗിക്കുന്നു. രണ്ട് പ്ലാറ്റ്‌ഫോമുകൾക്കുമുള്ള സജ്ജീകരണം Console കാണിക്കും.

iOS-ഉം macOS-ഉം

swift
import UsherKit

let usher = UsherClient(configuration: .init(
    issuer: URL(string: "https://login.example.com")!,
    clientID: "…",
    redirectURI: URL(string: "com.example.notes:/oauth/callback")!))

let session = try await usher.signIn()
var request = URLRequest(url: URL(string: "https://api.example.com/notes")!)
try await usher.authorize(&request)

ടോക്കണുകൾ ഈ ഉപകരണത്തിൽ മാത്രം, കീച്ചെയിനിൽ സൂക്ഷിക്കുന്നു.

Android

kotlin
// build.gradle.kts: manifestPlaceholders["usherRedirectScheme"] = "com.example.notes"
val usher = Usher.client(context, UsherConfiguration(
    issuer = "https://login.example.com",
    clientId = "…",
    redirectUri = "com.example.notes:/oauth/callback"))

val session = usher.signIn(Usher.customTabs(activity))

സൈൻ ഇൻ ഒരു Custom Tab-ൽ തുറക്കുന്നു. സെഷൻ Android Keystore-ലെ ഒരു കീ ഉപയോഗിച്ച് എൻക്രിപ്റ്റ് ചെയ്യുന്നു.

SDK-കൾ എന്ത് പരിശോധിക്കുന്നു

  • ഓരോ സൈൻ ഇന്നിലും PKCE, state, nonce, ഒപ്പം ഉത്തരത്തിൽ പേര് പറയുന്ന ഇഷ്യൂവറും (RFC 9207).
  • നിങ്ങളുടെ എൻവയോൺമെന്റിന്റെ കീകളുമായി ID ടോക്കണിന്റെ സിഗ്നേച്ചർ, ഒപ്പം അതിന്റെ ഇഷ്യൂവർ, ഓഡിയൻസ്, കാലാവധി.
  • റിഫ്രഷ് ടോക്കണുകൾ റൊട്ടേറ്റ് ചെയ്യുന്നു: ഓരോന്നും ഒരിക്കൽ മാത്രം ഉപയോഗിക്കുന്നു. സൈൻ ഔട്ട് ചെയ്യുമ്പോൾ Usher-ൽ അത് റദ്ദാക്കുന്നു.
  • DPoP, നിങ്ങൾ ഓണാക്കിയാൽ: ഉപകരണത്തിലെ ഒരു കീയുമായി ബന്ധിപ്പിച്ച ടോക്കണുകൾ, മറ്റെവിടേക്കെങ്കിലും പകർത്തിയാൽ ഉപയോഗശൂന്യം.

ആക്സസ് ടോക്കൺ ഉപയോഗിച്ച് നിങ്ങളുടെ സ്വന്തം API വിളിക്കാൻ, API-ക്ക് പേര് നൽകി resources ഉപയോഗിച്ച് അത് ചോദിക്കുക: നിങ്ങളുടെ സ്വന്തം API-കൾ കാണുക.