ವಿಷಯಕ್ಕೆ ಹೋಗಿ
ದಾಖಲೆಗಳು · ಟಿವಿಗಳು ಮತ್ತು ಕಮಾಂಡ್-ಲೈನ್ ಪರಿಕರಗಳು

ಟಿವಿಗಳು, ಕನ್ಸೋಲ್‌ಗಳು ಮತ್ತು ಕಮಾಂಡ್-ಲೈನ್ ಪರಿಕರಗಳು

ಟಿವಿ ಸೈನ್-ಇನ್ ಪುಟವನ್ನು ಸುಲಭವಾಗಿ ತೋರಿಸಲಾರದು, ಮತ್ತು ಕಮಾಂಡ್-ಲೈನ್ ಪರಿಕರ ಪಾಸ್‌ವರ್ಡ್ ಕೇಳಬಾರದು. ಡಿವೈಸ್ ಫ್ಲೋನಲ್ಲಿ, ಸಾಧನವು ಒಂದು ಚಿಕ್ಕ ಕೋಡ್ ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ವ್ಯಕ್ತಿ ತಾವು ಈಗಾಗಲೇ ಸೈನ್ ಇನ್ ಆಗಿರುವ ತಮ್ಮ ಫೋನ್ ಅಥವಾ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ, ತಮ್ಮ ಎನ್ವಿರಾನ್‌ಮೆಂಟ್‌ನ ಲಾಬಿಯಲ್ಲಿ ಅದನ್ನು ಟೈಪ್ ಮಾಡುತ್ತಾರೆ.

ಆ್ಯಪ್ ನೋಂದಾಯಿಸಿ

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": "…" }
  • ಸೌಜನ್ಯದಿಂದ ಪೋಲ್ ಮಾಡಿ. ಪೋಲ್‌ಗಳ ನಡುವೆ interval ಸೆಕೆಂಡುಗಳು ಕಾಯಿರಿ. ಅದಕ್ಕಿಂತ ವೇಗವಾಗಿ ಪೋಲ್ ಮಾಡಿದರೆ 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 ಆಯ್ಕೆ).