遵循微软Azure教程创建应用后无法访问OneDrive,提示应用未获使用授权
问题解决方案:用户名密码登录OneDriveClient提示未同意应用权限
- 首先确认你代码中填写的应用客户端ID与Azure门户中注册的应用ID一致,报错信息中显示的[空缺]字段就是你缺少的客户端ID,可在Azure门户「应用注册」服务的对应应用概览页获取。
- 进入目标应用的「API权限」配置页,添加Microsoft Graph下的委派权限,匹配你实操场景需要添加
Files.Read、Files.ReadWrite等OneDrive文件访问相关权限,请勿选择应用权限,用户名密码登录属于委派权限适用场景。 - 完成权限添加后,如果你是当前租户的管理员,可直接点击「为<你的租户名称>授予管理员同意」按钮完成全局权限授权;如果你是普通租户用户,可以先将登录逻辑临时改为交互式登录,触发权限同意弹窗完成用户级授权后,再切换回用户名密码登录逻辑即可。
- 进入应用的「身份验证」配置页,找到「高级设置」分类下的「允许公共客户端流」选项,确认该选项已设置为「是」,用户名密码登录属于公共客户端流范畴,未开启该配置也会触发权限类报错。
注意:如果你的租户开启了多因素认证、条件访问限制规则,ROPC(用户名密码)流会被系统强制拦截,这种场景下需更换为交互式登录、设备代码流等支持多因素认证的认证方式,无法继续使用用户名密码方式登录。
内容的提问来源于stack exchange,提问作者Vladislav McDonald
相关产品推荐
相关产品推荐

