使用Azure应用保护调用WEB API终结点方法时访问令牌返回访问被拒绝

时间:2018-11-22 11:40:53

标签: azure oauth-2.0 bearer-token msal

使用客户端ID设置MSAL IOS Swift应用示例(本地应用已注册为教程的一部分)

每次我在网站上调用WebAPI终结点方法以通过具有密钥授权和值承载+令牌(从成功的Azure AD用户身份验证中获取)的邮递员检索ID为ID的用户对象时,都会出现未授权错误

我的价值如下:

let kClientID = "my native app id"  
    // These settings you don't need to edit unless you wish to attempt deeper scenarios with the app.
    let kGraphURI = "https://graph.microsoft.com/v1.0/me/"
    let kScopes: [String] = ["https://graph.microsoft.com/user.read"]
    let kAuthority = "https://login.microsoftonline.com/common"

PS:通过Azure调用相同终结点的Web应用程序身份验证工作正常,问题仅在本机应用程序中出现,我无法确定哪里出了问题,我花了好几天没有高兴,谢谢您的帮助提前

1 个答案:

答案 0 :(得分:0)

我猜您的请求包含参数“ client_secret”,对于本机应用程序则不是必需的,另一个原因是访问令牌不包含访问资源所需的模拟权限,已将模拟权限授予了本机客户端应用。默认权限为user_impersonation。目标资源的所有者可以在Azure AD中注册备用值,也可以单击此link并搜索“本机”以找出原因,希望它受益。