介绍
bungie-auth
是一个用于 Bungie 开发平台的身份验证模块。Bungie 开发平台是允许开发者访问和操作 Bungie 游戏 API、统计数据和更多的平台。因此,您需要安全地使用这个 API,这才是一个良好的实践。Bungie-auth 模块可以帮助您生成 API key,并向 Bungie API 发送请求时,为您处理一部分相关的逻辑。
安装
要使用 bungie-auth
模块,您需要先安装它。使用 npm
可以简单地安装它:
npm install bungie-auth
API 密钥获取
在使用 bungie-auth
模块之前,您需要获得 API 密钥。要获得 API 密钥,请遵循这些步骤:
- 转到 Bungie 身份验证页面
- 单击“新应用程序”按钮。
- 在“接受条件”对话框中选择“是”。
- 选择“Web 授权流程”选项。
- 在“回调地址”字段中输入回调网址(可选),然后单击“创建应用程序”按钮。
- 在“API 访问”部分找到您的“API 密钥”和“API 密钥秘钥”。
这些凭据在使用 bungie-auth
模块时必须使用。
使用 bungie-auth
模块
要使用 bungie-auth
模块,需要先创建认证令牌对象。
-- -------------------- ---- ------- ----- ---------- - ----------------------- ----- ------- - - ------- --------------- ---------- ------------------ -------------- ----------------------- ------------------ --------------------------- ---------------- ------------------------ -- -------------- -- ----- ---------- - --- --------------------
这里的 options
对象包含您的 API 密钥、API 密钥秘钥和应用程序名称等选项。请注意, oauthClientId
和 oauthClientSecret
是身份验证和授权过程所需的。
接下来,创建登录 URL 和获取令牌:
const redirectUrl = 'your_redirect_url'; const loginUrl = bungieAuth.getLoginUrl(redirectUrl); console.log(loginUrl); // https://www.bungie.net/en/OAuth/Authorize?response_type=code&client_id=your_oauth_client_id&state=&redirect_uri=your_redirect_url
使用 loginUrl
将用户重定向到 Bungie 登录页面。如果用户同意您的应用程序访问其 Bungie 帐户,则会重定向回您提供的 redirectUrl
。
const code = 'your_code'; // 从重定向 URL 查询参数中获取 const tokenResult = await bungieAuth.getToken(code, redirectUrl); console.log(tokenResult); // { access_token: 'your_access_token', expires_in: 3600, refresh_token: 'your_refresh_token', membership_id: 'your_membership_id', token_type: 'Bearer' }
getToken()
方法使用 code
和 redirectUrl
获取访问和刷新令牌。access_token
属性包含可用于 Bungie API 的访问令牌,而 refresh_token
属性包含用于刷新访问令牌的刷新令牌。请注意,expires_in
属性表示访问令牌的到期时间(以秒为单位)。
使用访问令牌调用 Bungie API:
const accessToken = 'your_access_token'; const characterId = 'your_character_id'; const activityMode = 5; const activityCount = 25; const activityPage = 0; const activityResults = await bungieAuth.getActivities(accessToken, characterId, activityMode, activityCount, activityPage); console.log(activityResults);
此代码调用 getActivities()
方法来获取活动数据。该方法使用 accessToken
进行身份验证,并可选地使用 characterId
、activityMode
、activityCount
和 activityPage
过滤结果。
总结
通过使用 bungie-auth
模块,您可以轻松地与 Bungie 开发平台进行交互,并安全地使用其 API。该模块为您处理了许多底层逻辑,例如生成 API 密钥和处理令牌获取。此外,该模块还提供了许多有用的方法,可用于与 Bungie API 交互,例如获取活动数据。开发者可以尝试使用这个模块,以便更快捷、安全地使用 Bungie 开发平台的 API。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066c8eccdc64669dde560c