உள்ளடக்கத்துக்குச் செல்
ஆவணங்கள் · 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)

டோக்கன்கள் Keychain-இல், இந்தச் சாதனத்தில் மட்டும் வைக்கப்படுகின்றன.

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-கள் பாருங்கள்.