உள்ளடக்கத்துக்குச் செல்
ஆவணங்கள் · டிவிகளும் கட்டளை வரிக் கருவிகளும்

டிவிகள், கன்சோல்கள், கட்டளை வரிக் கருவிகள்

டிவியால் உள்நுழைவுப் பக்கத்தை எளிதாகக் காட்ட முடியாது, கட்டளை வரிக் கருவி கடவுச்சொல்லைக் கேட்கக் கூடாது. சாதன ஃப்ளோவில், சாதனம் ஒரு சிறிய குறியீட்டைக் காட்டுகிறது, அந்த நபர் ஏற்கெனவே உள்நுழைந்துள்ள தனது ஃபோன் அல்லது கணினியில், தனது சூழலின் லாபியில் அதைத் தட்டச்சு செய்கிறார்.

ஆப்ஸைப் பதிவுசெய்யுங்கள்

Usher Console-இல் சூழலைத் திறந்து, பிறகு பயன்பாடுகள் → புதிய பயன்பாடு → டிவி அல்லது கட்டளை வரி என்பதற்குச் செல்லுங்கள். அதற்கு ஒரு கிளையன்ட் ID கிடைக்கும், ரகசியம் கிடைக்காது: சாதனத்தால் ரகசியத்தைப் பாதுகாப்பாக வைத்திருக்க முடியாது.

ஃப்ளோ

டெர்மினல்
# 1. the device asks for a code
curl -s -X POST https://acme.usherid.com/api/auth/device/code \
  -d client_id=YOUR_CLIENT_ID -d scope='openid email offline_access'
# → { "device_code": "…", "user_code": "6L95PBQQ",
#     "verification_uri": "https://acme.usherid.com/device",
#     "verification_uri_complete": "https://acme.usherid.com/device?user_code=6L95PBQQ",
#     "expires_in": 600, "interval": 5 }

# 2. it shows the code (and a QR code of verification_uri_complete), then polls
curl -s -X POST https://acme.usherid.com/api/auth/oauth2/token \
  -d grant_type=urn:ietf:params:oauth:grant-type:device_code \
  -d device_code=… -d client_id=YOUR_CLIENT_ID
# → { "error": "authorization_pending" } until the person allows it,
#   then { "access_token": "…", "id_token": "…", "refresh_token": "…" }
  • அளவோடு poll செய்யுங்கள். ஒவ்வொரு poll-க்கும் இடையில் interval வினாடிகள் காத்திருங்கள். அதைவிட வேகமாக poll செய்தால் slow_down என்று பதில் வரும்.
  • சொல்லும்போது நிறுத்துங்கள். access_denied என்றால் அந்த நபர் மறுத்துவிட்டார்; expired_token என்றால் பத்து நிமிடங்கள் கடந்துவிட்டன. புதிய குறியீட்டைக் கேளுங்கள்.
  • முகவரியையும் காட்டுங்கள். எல்லோராலும் QR குறியீட்டை ஸ்கேன் செய்ய முடியாது: verification_uri ஐயும், 6L95-PBQQ போல இடைவெளி விட்டுக் குறியீட்டையும் காட்டுங்கள்.

/device இல், எந்த ஆப்ஸ் கேட்கிறது, எதைக் கேட்கிறது என்பதை லாபி அந்த நபருக்குக் காட்டுகிறது. அவரே இதைத் தொடங்கியிருந்து, அவரின் சாதனம் அதே குறியீட்டைக் காட்டினால் மட்டுமே தொடரும்படி அது சொல்கிறது.

டோக்கன்களைச் சாதனத்துடன் பிணையுங்கள் (DPoP)

சாதனத்திலிருந்து நகலெடுக்கப்பட்ட டோக்கனும் டோக்கன்தான். DPoP (RFC 9449) மூலம், சாதனம் ஒரு தனிப்பட்ட விசையை வைத்திருக்கிறது, ஒவ்வொரு கோரிக்கையுடனும் புதிதாகக் கையொப்பமிட்ட சான்றை அனுப்புகிறது. அந்த விசையுடன் பிணைக்கப்பட்ட டோக்கன் அது இல்லாமல் பயனற்றது.

  • பிணைக்கப்பட்ட டோக்கன்களைக் கேளுங்கள்: உங்கள் டோக்கன் கோரிக்கைகளுடன் DPoP ஹெடரை அனுப்புங்கள், Usher தான் வழங்குவதை உங்கள் விசையுடன் பிணைக்கிறது (token_type என்பது DPoP).
  • அவற்றைக் கட்டாயமாக்குங்கள்: ஆப்ஸை உருவாக்கும்போது DPoP கட்டாயம் என்பதை இயக்குங்கள். அதன் பிறகு, சான்று இல்லாமல் Usher அதற்கு எந்த டோக்கனையும் வழங்காது.
  • அவற்றைப் பயன்படுத்துங்கள்: Authorization: DPoP <token> உடன், அந்தக் கோரிக்கைக்கான ஒரு சான்றையும் சேர்த்து.
  • லைப்ரரிகள்: DPoP ஆதரவு கொண்ட பெரும்பாலான OAuth லைப்ரரிகள் இவை அனைத்தையும் உங்களுக்காகச் செய்கின்றன (எடுத்துக்காட்டாக, openid-client இன் DPoP விருப்பம்).