OAuth2
OAuth2 类用于在脚本中实现 OAuth 2.0 授权流程。它支持标准的授权码流程、PKCE(Proof Key for Code Exchange)、访问令牌续期及多种配置选项。
构造函数
参数说明
抛出错误
- 当配置参数无效或实例化失败时抛出错误。
属性
accessTokenBasicAuthentification: boolean
是否使用 Basic 认证方式发送获取访问令牌的请求。默认值为 false。
allowMissingStateCheck: boolean
是否禁用 state 参数校验(CSRF 保护)。谨慎使用,默认值为 false。
encodeCallbackURL: boolean
是否对回调地址进行 URL 编码。某些服务商要求必须编码。默认值为 true。
encodeCallbackURLQuery: boolean
是否对整个回调地址的查询参数进行编码。部分服务如 Imgur 要求此值为 false。默认值为 true。
方法
authorize(options): Promise<OAuthCredential>
发起 OAuth2 授权流程。将打开一个浏览器窗口,供用户登录并授权。
参数说明
返回值
- 返回一个包含授权结果的
OAuthCredential对象。
抛出错误
- 若用户拒绝授权或网络错误将抛出异常。
示例
renewAccessToken(options): Promise<OAuthCredential>
使用刷新令牌(refresh token)重新获取访问令牌。
参数说明
返回值
- 返回新的
OAuthCredential对象。
抛出错误
- 若刷新失败(如刷新令牌已过期),则抛出错误。
示例
OAuthCredential 类型定义
授权成功后返回的凭证对象包含以下字段:
字段说明
使用建议
- 始终使用
state参数防止 CSRF 攻击,除非明确关闭。 - 使用
Script.createOAuthCallbackURLScheme(name)为脚本生成唯一回调地址。 - 若需要长期授权,请妥善保存
oauthRefreshToken。 - 对于公用客户端建议启用 PKCE 增强安全性。
