通过社交网络访问令牌实现无缝身份认证
适用场景
当游戏客户端或应用已持有有效的社交网络访问令牌时,可以使用无缝令牌认证。客户端无需跳转到浏览器,而是通过一次请求使用该令牌换取艾克索拉登录管理器凭证。根据所选协议,响应会返回JWT(JWT协议),或返回包含授权码的登录URL(OAuth 2.0协议)。无缝认证适用于以下场景:
- 游戏内自动登录网充商店,且玩家已在游戏客户端内登录对应社交网络。
- 桌面和主机应用无法使用重定向认证,或使用重定向认证会影响用户体验。
通过社交网络访问令牌实现的无缝认证支持以下社交网络:艾克索拉,Facebook,Google,LinkedIn,Twitter,Discord,Naver,Baidu,Battle.net,WeChat,QQ。
如果客户端没有社交网络访问令牌(例如用户尚未通过该社交网络完成认证),则无法使用无缝认证场景。此时,请通过以下方法实现浏览器重定向场景:
无缝认证与浏览器重定向流程对比
| 浏览器重定向流程 | 无缝令牌认证 | |
|---|---|---|
| 用户体验 | 游戏会打开包含社交网络登录页面的浏览器。用户完成认证后,将被重定向回游戏。 | 游戏传递社交网络令牌,用户自动完成认证,无需打开浏览器。 |
| 请求次数 | 多次请求。 | 一次请求。 |
在无缝认证过程中,艾克索拉登录管理器会接收客户端已持有的社交网络访问令牌,通过该社交网络API完成校验,查找匹配用户或创建新用户,并返回JWT或登录URL。整个流程只需一次请求,无需浏览器参与。
无缝令牌认证
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant G as Game client
participant X as Xsolla Login
participant B as Social network
G->>X: Sends Auth via access token of social network call
X->>B: Validates access token
B-->>X: Confirms token validity
X-->>G: Returns JWT / Login URL
浏览器重定向流程
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant G as Game client
participant X as Xsolla Login
participant B as Social network
G->>X: Sends Auth via social network call
X->>B: Redirects to login page
B->>G: Displays login form
G->>B: Submits credentials
B->>X: Returns callback with code
X-->>G: Returns JWT / Login URL
无缝认证API调用
如需为社交网络实现无缝令牌认证,请根据所选认证协议调用以下API:
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。