配置登录授权 Scope
本文介绍几种常见社会化登录授权域参数含义。
Scope 简介
许多社会化登录都基于 OAuth 2.0 协议,其中 Scope 的含义是:需要请求用户授予的权限。例如,当我们希望用户授予我们他的 Github 仓库读写权限,我们在发起授权登录时,必须要在 scope 参数中加入 repo 字段。
在 Authing 控制台 > 第三方登录,选择一个社会化登录选项卡,勾选发起授权登录时请求用户授予的权限:

Github
Scope 参数
描述
(no scope)
授予对公开信息的只读访问权限(包括公共用户配置文件信息,公共仓库信息和 gist)
repo
授予对私有和公有仓库的完全访问权限。 这包括对代码,提交状态,仓库和组织项目,邀请,协作者,添加团队成员身份,部署状态的读 / 写访问权限,以及公开和私有仓库和组织仓库的 Webhook 读 / 写访问权限。 还授予管理用户项目的能力。
repo:status
授予对公开和私有仓库提交状态的读 / 写访问权限。 仅在授予其他用户或服务对私有仓库提交状态的访问权限,而无需授予对代码的访问权限时,此作用域才是必需的。
repo_deployment
授予访问公开和私有仓库的部署状态的权限。 仅在授予其他用户或服务对部署状态的访问权限,而不授予对代码的访问权限时,才需要此作用域。
public_repo
仅限于对公开仓库的访问。 这包括对代码,提交状态,仓库项目,协作者以及公开仓库和组织的部署状态的读 / 写访问。 对公开仓库加注星标也需要此 scope。
repo:invite
授予接受 / 拒绝邀请从而在仓库上进行协作的能力。 仅在授予其他用户或服务邀请权限,而不授予对代码的访问权限时,才需要此作用域。
admin:repo_hook
授予对公开和私有仓库中的仓库 hook 的读取,写入,ping 和删除访问权限。 repo 和 public_repo 授权域会授予对仓库的完全访问权限,包括仓库 hook。 使用 admin:repo_hook 授权域将授权限制为仓库 hook。
write:repo_hook
授予对公开或私有仓库中的 hook 的读取,写入和 ping 的访问权限。
read:repo_hook
授予对公开或私有仓库中的 hook 的读取和 ping 访问权限。
admin:org
全部管理组织及其团队,项目和成员的权限。
write:org
对组织成员、组织项目和团队成员身份的读写访问权限。
read:org
对组织成员、组织项目和团队成员身份的只读访问权限。
admin:public_key
全部管理公钥的权限
write:public_key
新建、查看公钥列表、详情的权限
read:public_key
查看公钥列表、详情的权限
admin:org_hook
授予对组织 hook 的读取,写入,ping 和删除访问权限。 注意:OAuth 令牌仅能对那些由 OAuth 应用创建的组织 hook 执行操作。 个人访问令牌只能在用户自己创建的组织 hook 上执行这些操作。
gist
授予对 gist 的写权限
notifications
授予: * 用户通知的读权限 * 将 threads 标记为已读的权限 * 对仓库进行 watch 和 unwatch 的权限 * 读 / 写和删除 thread 订阅的权限
user
授予对用户资料的读写权限。注意此 scope 包含了 user:email 和 user:follow。
read:user
授予对用户资料的读取权限
user:email
授予对用户 email 地址的读取权限
user:follow
授予对用户 unfollow 其他用户的权限
delete_repo
授予删除用户可管理的仓库的权限
write:discussion
授予读 / 写团队讨论的权限
read:discussion
授予团队讨论的只读权限
write:packages
授予访问权限以在 GitHub Packages 中上传或发布软件包。 有关更多信息,请参见 GitHub 帮助文档中的“发布软件包”。
read:packages
授予访问权限以从 GitHub Packages 中下载或安装软件包。 有关更多信息,请参阅 GitHub 帮助文档中的“安装软件包”。
delete:packages
授予访问权限以从 GitHub Packages 中删除软件包。 有关更多信息,请参阅 GitHub 帮助文档中的“删除软件包”。
admin:gpg_key
管理 GPG 密钥的全部权限
write:gpg_key
新建、查看 GPG 密钥列表、详情的权限
read:gpg_key
查看 GPG 密钥列表、详情的权限
workflow
授予添加和更新 GitHub Actions 工作流文件的能力。 如果同一仓库中的另一个分支上存在相同的文件(具有相同的路径和内容),则可以在没有此作用域的情况下提交工作流文件。
微信移动端网页
Scope 名称
描述
snsapi_base
授予通过 code 换取 access_token、refresh_token 和已授权 scope 的能力
snsapi_userinfo
获取用户个人信息的权限
snsapi_login
仅用于 PC 端扫码登录
其中 snsapi_base 属于基础接口,若应用已拥有其它 scope 权限,则默认拥有 snsapi_base 的权限。使用 snsapi_base 可以让移动端网页授权绕过跳转授权登录页请求用户授权的动作,直接跳转第三方网页带上授权临时票据(code),但会使得用户已授权作用域(scope)仅为snsapi_base,从而导致无法获取到需要用户授权才允许获得的数据和基础功能。
使用 snsapi_base 会跳过用户的确权点击,后续使用 code 换取 access_token,用 access_token 也能够换取到用户信息。
新浪微博
Scope 参数
描述
all
请求下列所有 scope 权限
用户的联系邮箱,接口文档
direct_messages_write
私信发送接口,接口文档
direct_messages_read
私信读取接口,接口文档
invitation_write
邀请发送接口,接口文档
friendships_groups_read
好友分组读取接口组,接口文档
friendships_groups_write
好友分组写入接口组,接口文档
statuses_to_me_read
定向微博读取接口组,接口文档
follow_app_official_microblog
关注应用官方微博,该参数不对应具体接口,只需在应用控制台填写官方帐号即可。填写的路径:我的应用-选择自己的应用-应用信息-基本信息-官方运营账号(默认值是应用开发者帐号)
QQ
接下来你可能需要:
刷新 Github、微信等三方的 token:
SDK for Node.jsLast updated
Was this helpful?