通过自己的OAuth 2.0提供商进行身份认证

注:
该翻译由AI生成,请谨慎判断其准确性。

工作原理

您可以使用OAuth 2.0协议通过社交网络添加用户授权。要在授权小组件上启用社交网络按钮,请在发布商帐户中指定提供商详细信息。

认证流程

首次登录流程

  1. 用户点击授权小组件上的 Log in with [Your Platform] 按钮。

  2. 用户被重定向到您的登录或同意页面(地址在设置中的 Authorization URL 字段中指定)。

  3. 用户在您的系统中输入凭证并批准访问。

  4. 您的系统将用户重定向回艾克索拉,并附带授权码。

  5. 艾克索拉联系您的系统以交换授权码获取访问令牌(地址在设置中的 Token URL 字段中指定)。

  6. 艾克索拉使用访问令牌从您的系统中检索用户的个人资料数据(ID、邮件等)(地址在设置中的 Your info URL 字段中指定)。

  7. 用户登录并作为认证的艾克索拉用户返回应用程序。

返回用户流程

  1. 用户点击授权小组件上的 Log in with [Your Platform] 按钮。

  2. 用户被重定向到您的登录或同意页面(地址在设置中的 Authorization URL 字段中指定)。

  3. 您的系统识别活动会话并跳过凭证屏幕。如果您的系统要求每次访问都重新认证,用户将再次看到登录表单。

  4. 您的系统检查用户是否已授予请求的权限范围。如果已同意且未被撤销,则跳过同意屏幕。

  5. 您的系统将用户重定向回艾克索拉,并附带授权码。

  6. 艾克索拉联系您的系统以交换授权码获取访问令牌(地址在设置中的 Token URL 字段中指定)。

  7. 艾克索拉使用访问令牌从您的系统中检索用户的当前个人资料数据(地址在设置中的 Your info URL 字段中指定)。

  8. 用户登录并返回应用程序。整个流程通常在几秒钟内完成,无需用户进行任何可见的交互。

认证失败

授权URL不可用(错误 010-035)

  1. 用户点击授权小组件上的 Log in with [Your Platform] 按钮。

  2. 用户被重定向到您的登录或同意页面(地址在设置中的 Authorization URL 字段中指定)。

  3. 合作伙伴OAuth2服务器不可用并返回错误。

  4. 艾克索拉登录管理器收到“依赖服务不可用”错误(010-035),并且不继续进行。

令牌交换失败(错误 010-015)

  1. 用户点击授权小组件上的 Log in with [Your Platform] 按钮。

  2. 用户被重定向到您的登录或同意页面(地址在设置中的 Authorization URL 字段中指定)。

  3. 用户在您的系统中输入凭证并批准访问。

  4. 您的系统将用户重定向回艾克索拉,并附带授权码。

  5. 艾克索拉联系您的系统以交换授权码获取访问令牌(地址在设置中的 Token URL 字段中指定)。

  6. 合作伙伴OAuth2服务器未能发放令牌并返回错误。

  7. 艾克索拉登录管理器收到“获取OAuth 2.0访问令牌时发生错误”错误(010-015),并且不继续进行。

用户数据检索失败(错误 010-036)

  1. 用户点击授权小组件上的 Log in with [Your Platform] 按钮。

  2. 用户被重定向到您的登录或同意页面(地址在设置中的 Authorization URL 字段中指定)。

  3. 用户在您的系统中输入凭证并批准访问。

  4. 您的系统将用户重定向回艾克索拉,并附带授权码。

  5. 艾克索拉联系您的系统以交换授权码获取访问令牌(地址在设置中的 Token URL 字段中指定)。

  6. 艾克索拉使用访问令牌从您的系统中检索用户的个人资料数据(ID、邮件等)(地址在设置中的 Your info URL 字段中指定)。

  7. 合作伙伴OAuth2服务器未能返回用户数据。

  8. 艾克索拉登录管理器收到“获取社交资料失败”错误(010-036),并且不继续进行。

如何获取

要通过OAuth 2.0启用授权:

  1. 在您自己的OAuth 2.0提供商设置中添加 https://login.xsolla.com/api/social/oauth2/callback 作为允许的重定向URI,以防止授权失败。

  2. 发布商帐户中打开您的项目,并进入 Players > Login 部分。

  3. 点击经典登录选项面板中的 Configure

  4. 进入 Authentication 块并选择 OAuth 2.0 login connection

  5. 填写以下字段:

    • Authorization name — 集成名称。用于在发布商帐户中识别。可以包含数字、拉丁字母、连字符和下划线,不含空格,最大长度为100个字符。

    • Authorization URL — 用于用户认证的方法的URL。

    • Token URL — 用于获取访问令牌的方法的URL。

    • Your info URL — 使用访问令牌获取用户个人资料数据(如ID和邮件)的方法的URL。

    • Client ID — 授权服务器上客户端的唯一标识符。可以包含数字、拉丁字母、连字符和下划线,不含空格,最大长度为255个字符。

    • Client secret key — 由您的授权系统生成的唯一ID。可以包含数字、拉丁字母、连字符和下划线,不含空格,长度为8-255。

    • Permission scope — 您的系统在授权期间从用户请求的访问权限列表(例如,openidprofileemail)。

  6. 设置 Key name map

    • 提供您系统中邮件地址的键名(可选)。

    • 提供您系统中用户标识符的键名。

  7. Settings 部分中,指定其他认证设置(可选):

    • auth_content_typeContent-Type 页眉的值。

    • auth_header — 请求用户数据时传递授权令牌的页眉(页眉中的授权)。

    • auth_param — 请求用户数据时传递授权令牌的查询参数名称(参数中的授权)。

    • token_type — 令牌类型。可能的值:BearerOAuth

    • use_pkce — 指示在授权期间使用 PKCE(代码交换证明密钥)技术的标志。强烈建议激活此功能以确保最高的安全标准。

    注:
    键名应以 $. 开头,例如,$.response[0].email$.response[0].id
  8. 如果您通过授权小组件使用集成,请进行自定义设置:

    • 指定 Authorization button name。最大长度为30个字符。

    • 上传您的Logo。推荐尺寸:24 × 24px。支持的格式:JPG、PNG和SVG。

    • 设置授权按钮颜色。

    • 点击 Save changes

  9. 如果您通过Login API方法使用集成,请配置在 provider_name 中传输您的提供商ID,格式为:"<authorization_name>-<publisher_id>",其中 <authorization_name> 是您在提供商设置中指定的集成名称,<publisher_id> 是您在发布商帐户中的项目ID。根据选择的授权协议,使用以下方法传递 provider_name 参数:

本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
上次更新时间: 2026年7月9日

发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!
无法发送您的反馈
请稍后重试或发送邮件至doc_feedback@xsolla.com与我们联系。