我正在尝试使用Microsoft身份验证库(MSAL)针对我的Azure移动应用程序后端(已设置为使用Azure AD身份验证)对Xamarin.Forms应用程序进行身份验证。这样一来,应用程序就可以访问表API控制器等,但是我在进行完全身份验证时遇到问题。
在应用程序(客户端)中,我似乎能够成功登录,因为我在Safari Web浏览器中获得了Azure AD登录屏幕,但是在输入凭据后,我便立即重定向到该应用程序,并看到了来自MSAL的以下错误:
您无权查看此目录或页面。
我做了一些挖掘工作,并将调试器附加到我的Mobile App后端,发现了以下内容:
Microsoft.Azure.AppService.Middleware详细:0:收到请求: POST https://myapp.azurewebsites.net/.auth/login/aad
抛出异常: 'System.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException' 在Microsoft.Azure.AppService.Middleware.Modules.dll
Microsoft.Azure.AppService.Middleware警告:0:JWT验证 失败:IDX10500:签名验证失败。无法解决 SecurityKeyIdentifier:'SecurityKeyIdentifier (
IsReadOnly = False, Count = 1, Clause[0] = System.IdentityModel.Tokens.NamedKeySecurityKeyIdentifierClause ) ',
RawData:eyJ0eXAiOiJ ......
令牌: '{“ typ”:“ JWT”,“ alg”:“ RS256”,“ kid”:“-sxMJMLCIDWMTPvZyJ6tx-CDxw0”}。{“ aud”:“ d03a8a86-2d38-4017-a8e6-d1813c7a8b99”,“ iss” :“ https://login.microsoftonline.com/03afca2b-f47f-4d0b-9a25-d464aff5d399/v2.0”,“ iat”:1550228705,“ nbf”:1550228705,“ exp”:1550232605,“ aio”:“ ATQAy / 8KAAAAJ5N6SdnFdK7rYxWxvwbUKLAjZesFNkwaj2jR7tQg + E10FU5giBWQ”“,” TEST“,” oid“:” ea10e59f-4466-451c-b7df-e9727ae5b899“,” preferred_username“:” gfssd@mycompany.com“,” sub“:” aPg-fkuZz4lwGIPSGbQ-nOoj7BPwT4_bBsb9U“ tca”“ f47f-4d0b-9a25-d464aff5d399“,” uti“:” tpY2tvyphUib1O2N4wIQAA“,” ver“:” 2.0“}
Microsoft.Azure.AppService.Middleware信息:0:正在发送响应:401.83未经授权
任何想法为何似乎未正确授权?
编辑: