能否在Azure AD B2C中控制GitHub IDP的请求权限?
解决Azure AD B2C GitHub登录权限过宽的问题
我完全理解你的顾虑——GitHub的「完全访问权限」权限范围确实太广了,给应用开这个权限相当于让它能读写你的所有用户数据,风险很高。咱们可以通过调整Azure AD B2C里的GitHub身份提供者配置,把权限缩窄到实际需要的范围,具体操作步骤如下:
- 首先登录Azure门户,找到你的AD B2C租户,进入身份提供者页面,选中你已经配置好的GitHub身份提供者。
- 在「范围」这个配置项里,把默认的宽泛权限(比如
repo,user)替换成更精细的权限组合。比如如果你的应用只需要获取用户的基本信息和邮箱,就用:
这里的权限含义分别是:read:user,user:emailread:user:允许读取用户的公开个人资料user:email:允许获取用户的邮箱地址(如果你的应用不需要邮箱,可以只保留read:user)
- 保存修改后,重新测试登录流程,这时候GitHub就只会请求你指定的窄范围权限,不会再弹出「完全访问权限」的请求了。
额外说明
Azure AD B2C默认给GitHub身份提供者配置的是比较宽泛的权限,目的是兼容大多数场景,但实际开发中一定要遵循最小权限原则:只请求应用功能必需的权限。如果你的应用确实需要和GitHub仓库交互,也别用repo这种全量权限,而是选择具体的细分权限,比如public_repo(访问公开仓库)、repo:status(读取仓库状态)等。
内容的提问来源于stack exchange,提问作者spottedmahn
相关产品推荐
相关产品推荐

