社交网络帐户登录
在您的应用程序中,可实现通过用户的社交网络帐户进行用户身份认证。如用户的首次登录是通过社交网络进行的,将自动创建一个新帐户。用户无需输入用户名、邮箱地址或其他数据。
有两种方法实现通过社交网络进行身份认证:
- 基于Web的身份认证。此方式下,应用程序在浏览器中打开一个表单来完成通过所选社交网络进行认证。此方式对于移动应用和桌面应用均适用。
- 本机身份认证。此方式下,通过用户设备上的社交网络应用程序执行认证。此方式只适用于移动应用。
注:
要通过用户的Apple ID、Face ID或Touch ID在您的iOS应用中认证用户身份,请实现基于Web的身份认证。此方式下,SDK方法使用iOS的原生库。
社交网络登录可以是您应用程序的首选或备选认证方式。
如将社交网络登录用作备选认证方式,则在满足以下条件的情况下,社交网络帐户将自动关联至现有用户帐户:
- 使用用户名/邮箱地址和密码注册的用户通过社交网络帐户登录您的应用程序。
- 社交网络返回一个邮箱地址。
- 用户在社交网络帐户中的邮箱地址与其注册您的应用程序时使用的邮箱地址一致。
您也可以实现手动关联社交网络帐户。
详解
通过方法详解文档了解高级设置。
SDK支持以下提供商的社交网络登录:
- Amazon
- Apple
- 百度
- Battle.net
- Discord
- GitHub
- Kakao
- MSN
- Mail.ru
- Microsoft
- Naver
- Odnoklassniki
- PayPal
- Steam
- Twitch.tv
- VK
- Vimeo
- 微信
- 微博
- Xbox Live
- Yahoo
- Yandex
- YouTube
要设置通过Web服务进行身份认证:
- 在应用程序界面,添加通过社交网络进行认证的按钮。
- 在发布商帐户中设置登录管理器项目的社交网络连接。
- 在应用程序侧实现身份认证逻辑。
在艾克索拉发布商帐户中设置登录管理器项目的社交网络连接
注意
在发布商帐户中,确保应用程序中使用的登录管理器项目勾选了经典登录和社交网络登录选项。后续可以更改登录方式,点击更改登录方法链接即可。之前保存的设置不会丢失。
- 在发布商帐户中打开您的项目。
- 在侧边栏中单击登录管理器。
- 在登录管理器项目面板中单击配置。
- 前往身份认证区块,然后选择社交网络登录部分。
- 连接用户可用于注册和登录应用程序的社交网络:
- 要连接社交网络,请单击⚙图标,然后选择连接。
- 要一次性连接多个社交网络,请选择需要的窗格(其边框会变成绿色),然后从管理下拉菜单中选择连接。
- 要连接所有可用的社交网络,请单击全选,然后从管理下拉菜单中选择连接。
注:
默认使用艾克索拉的应用程序ID和密钥进行身份认证。如设置应用程序时使用的是社交网络提供商的开发者帐户,可指定您自己的应用程序ID和密钥。关于如何找到应用程序ID和密钥的详细说明,见发布商帐户中的社交网络版块设置。
在应用程序侧进行集成
点击社交网络登录按钮时,实现以下逻辑:
- 使用
AuthenticateViaSocialNetwork
SDK方法打开注册/登录页面。 - 订阅
SuccessCallback
、ErrorCallback
和CancelCallback
事件。 - 从
LoginData
参数或通过调用GetLoginData
方法获取令牌,然后在发送给艾克索拉服务器的请求中使用。
注:
一旦成功认证,
SuccessCallback
函数在LoginData
参数中返回一个认证令牌。该令牌本地缓存在GetLoginData
方法中。该逻辑的实现示例见演示项目的BP_LoginController
蓝图。
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。本机用户认证(Native authentication)允许玩家通过安装至设备的应用程序使用社交网络帐户进行登录。目前SDK已实现通过以下社交网络进行本机用户认证:
- 微信
要配置本机身份认证:
- 在应用程序界面上添加通过社交网络认证的按钮。
- 创建适用于Android的虚幻引擎项目编译版本。
注:
在接下来的本机用户认证配置中,还会用到您Android应用程序的包名称(可在Android Package Name (‘com.YourCompany.Project’ [PROJECT] is replaced with project name) 字段的Edit > Project Settings > Platforms > Android 部分中找到)。
- 在社交网络的开发者帐户中配置应用程序:
- 在艾克索拉侧设置通过社交网络进行用户认证:
- 对于Facebook和Google,请在发布商帐户中设置社交网络连接。
- 对于微信和QQ,请联系您的客户成功经理或发送邮件至csm@xsolla.com进行设置。
- 为您的虚幻引擎项目设置SDK。
- 在应用程序侧实现身份认证逻辑。
在Facebook开发者帐户中设置应用页面
- 前往Facebook开发者帐户中的项目设置。
- 前往设置 > 基本。
- 单击添加平台,选择Android。
- 在Google Play包名称字段中指定您Android应用程序的包名称。
- 在类名字段中指定活动的完全限定类名称(默认值是
com.epicgames.ue4.GameActivity
)。 - 生成一个散列密钥并填入密钥散列字段中。
- 单击保存更改。
在接下来的本机用户认证配置中,还会用到:
- 设置 > 基本部分中的应用编号和应用密钥。
- 在设置 > 高级 > 安全部分项目设置中可找到的客户端口令。
在Google API Console中设置项目
- 前往Google API Console。
- 单击新建项目。
- 指定项目名称和位置,然后单击保存。
- 前往所创建的项目,然后单击侧边栏上的OAuth同意屏幕。
- 选择外部,然后单击创建。
- 指定必需参数,然后单击保存。
- 在侧边栏上点击凭据。
- 为您的Android应用创建一个OAuth 2.0客户端:
- 单击创建凭据,选择OAuth客户端ID。
- 在应用类型字段中指定Android。
- 指定名称。
- 在包名称字段中指定您Android应用程序的包名称。
- 获取SHA密钥。
- 在SHA-1证书指纹字段中指定上一步中生成的SHA密钥。
- 单击创建。
- 单击确定。
- 为Web应用创建一个OAuth 2.0客户端:
- 单击创建凭据,选择OAuth客户端ID。
- 在应用类型字段中指定Web应用。
- 指定名称。
- 在已获授权的重定向URl部分单击添加URI,并指定
https://login.xsolla.com/api/social/oauth2/callback
URl。 - 单击创建。
- 单击确定。
在接下来的本机用户认证配置中,还会用到Web应用的客户端ID设置中的客户端ID和客户端密钥。
在艾克索拉发布商帐户中设置登录管理器项目的社交网络连接
注意
在发布商帐户中,确保应用程序中使用的登录管理器项目勾选了经典登录和社交网络登录选项。后续可以更改登录方式,点击更改登录方法链接即可。之前保存的设置不会丢失。
- 在发布商帐户中打开您的项目。
- 在侧边栏中单击登录管理器。
- 在登录管理器项目面板中单击配置。
- 前往身份认证区块,然后选择社交网络登录部分。
- 要设置社交网络,请前往社交网络版块,单击标题右侧的⚙图标,然后选择连接。
注:
要使用社交网络授权,请在社交网络版块的设置中指定项目的应用程序ID和应用程序密钥。应用程序ID和密钥在社交网络提供商的开发者帐户中提供。发布商帐户社交网络版块设置中有如何找到应用程序ID和密钥的详细说明。
为虚幻引擎项目设置SDK
- 前往您的虚幻引擎项目。
- 前往
Settings > Project Settings > Plugins > Xsolla Settings > Android 。 - 指定应用程序ID:
- 在
Facebook App Id 字段中指定Facebook开发者帐户中的应用编号。 - 在
Facebook Client Token 字段中指定Facebook开发者帐户中的客户端口令。 - 在
Google App Id 字段中指定Google API Console中的Web应用的客户端ID。 - 在
We Chat App Id 字段中指定微信应用设置中的AppID。 - 在
QQ App Id 字段中指定QQ应用设置中的AppID。
- 在
在应用程序侧进行集成
点击社交网络按钮时,实现LaunchNativeSocialAuthentication
方法调用。实现示例见演示项目中提供的BP_LoginController
控制器的AuthenticateViaSocialNetwork
方法。
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。有用链接
上次更新时间: 2024年1月22日发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。