Web
本文旨在介绍如何设置 Twitter 身份验证,让您的网页可以使用 Player Network 登录鉴权服务通过 Twitter 渠道登录。
前提条件
1. 在 Twitter 开发者网站上设置游戏
1. 创建 Twitter 应用
建议使用腾讯邮箱注册账号,这样可以提高后期申请的成功率。
根据提示在 Twitter 开发者网站 上注册团队开发者账号或个人开发者账号。有了开发者账号,您就可以在 Developer Portal 上创建应用程序。
创建一个新项目。
选择一个用例。点击 Next。
输入项目描述。点击 Next。
选择应用环境。点击 Save。
输入应用程序名称。点击 Save。
创建应用程序后,获取 API key and API secret key。存储此信息。点击 App Settings。
点击 Set up。
启用 OAuth2.0 和 OAuth1.0a。在应用程序类型中选择 Web App。
在应用程序权限中选择 Read And Write。
为回调 URL 输入测试环境和生产环境 URL。您将进入游戏的官方网站。点击 Save。
如果游戏已经上线,则不能删除现有的回调 URL,只能添加。
适用于 Player Network SDK V1.15 及更早版本的 Android/iOS 平台
https://image.intlgame.com/v2/test/jssdk/twitterlogincallback.html
https://image.intlgame.com/v2/release/jssdk/twitterlogincallback.html
适用于 Player Network SDK V1.16 及更高版本的 Android/iOS 平台和 Windows 平台
https://test-common-web.intlgame.com/jssdk/twitterlogincallback.html
https://common-web.intlgame.com/jssdk/twitterlogincallback.html
当 TWITTER_CONSUMER_USE_SDK
为1时,要使用 INTLConfig.ini 中的 Twitter SDK 登录,请添加以下回调 URL:
twittersdk://
twitterkit-{API Key}://
{API Key} 需要替换为游戏的 API Key,不包括大括号 {}。
2. 检索应用程序信息
您需要 Twitter App ID 和密码才能在 Player Network 添加 Twitter 登录渠道。
更多关于其他第三方渠道接入 SDK 的信息,请参见 JavaScript SDK。
步骤1:引⼊ JavaScript SDK
目前已支持 npm
包方式和 CDN
方式。
$ npm install @intlsdk/account-api
// SDK production version package
<script src="https://common-web.intlgame.com/sdk-cdn/account-api/latest/index.umd.js"></script>
步骤2:使用 SDK
在集成测试时,将 env
设置为测试环境;项目上线时,将 env
设置为相应的正式环境。
const accountApi = new IntlgameAccountApi({
env: "test", // SDK environment
gameID: 11,
});
参数 | 类型 | 描述 | 备注 |
---|---|---|---|
env | string | SDK 环境 更多信息,请参见 获取部署集群信息。 | 必填 |
gameID | number | Player Network 游戏唯一标识 ID | 必填 |
步骤3:实现网页登录
实例化 accountApi
组件后,调用 thirdAuthorize
接口申请 Twitter 渠道的访问令牌和访问密钥。
accountApi.thirdAuthorize({
third_type: 'twitter',
}).then(
(res) => {
console.log(res);
});
当 Twitter 返回访问令牌和密钥后,调用 intlAuthorize
接口获取 Player Network SDK OpenID 和令牌登录网站。
accountApi.intlAuthorize({
third_type: 'twitter',
channel_info: {
oauth_token: "EAAI2lTrXAZBwBAC"
oauth_secret: "xxxx"
}
}).then(
(res) => {
console.log(res);
});
调用 intlLogout
接口登出网站。
accountApi.intlLogout({
token: '4567xsdfsd',
openid: 'xxxxxxxx',
channel_id: 9,
}).then(
(res) => {
console.log(res);
});