gpt4 book ai didi

azure - 此请求的授权已被拒绝 - Azure Active Directory - 有哪些日志可用?

转载 作者:行者123 更新时间:2023-12-02 03:45:33 25 4
gpt4 key购买 nike

因此,我使用带有 OAuth 2.0 流程的 postman 来尝试通过 Azure Active Directory 对我的 WebApi 进行身份验证。我仍在使用基本 ValuesController 的默认项目,只是试图让身份验证和授权工作。

我关注了this video设置 postman ,据我所知,我已经按照描述在事件目​​录中配置了新应用程序。

代币交换正在运行。并且授权承载 {token} 正在正确发送。这是一个示例 token :

{承载 eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQi OiJodHRwczovL2J1Y2tldHMub25taWNyb3NvZnQuY29tL2J1Y2tldHMtcmVzdC1hcGkyMDE2MDkwMzEwNDAzMSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzIwYmI2ZmEwLTU0OTItNDk 0My05MjkwLWRiMWJkMTU3YjFkMS8iLCJpYXQiOjE0NzM5MTg3MDAsIm5iZiI6MTQ3MzkxODcwMCwiZXhwIjoxNDczOTIyNjAwLCJhY3IiOiIxIiwiYW1yIjpbInB3ZCJdLCJhchHBpZCI6IjlkZ WVmMWFlLWU0MMYtNDg4ZC04MMY3LWUwMWRjYzNkMzE5NyIsImFwcGlkYWNyIjoiMSIsImZhbWlseV9uYW1lIjoiSWppZGFraW5ybyIsImdpdmVuX25hbWUIOiJBeW8iLCJpcGFkZHIiOiI3MC 4xNzMuNDauMjiIiLCJuYW1lIjoiQWRtaW4iLCJvaWQiOiJmMTljY2Q5ZC1iMDZhLTQ0MGUtYmE3Ni05NWRjNGE4NDY3ZjEiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJMMHk zeUVwrGdRMHV2MG0wZWNKcFFIeVpZNHkzYTk3UUpnNGl6WlpzZmNVIiwidGlkIjoiMjBiYjZmYTAtNTQ5Mi00OTQzLTkyOTAtZGIxYmQxNTdiMWQxIiwidW5pcXVlX25hbWUIOiJhZG1pbkBidWNrZXRzL m9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluQGJ1Y2tldHMub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIn0.NXpvslBXOpRNkmWQqj7XqVzloS3KoeSqPIlo-yUPGYkZ4bHPrAH6yD4sxMY z-19VIPFRDUMP-5h5hmaMKmuykjNUltz6wejQT9f4IeV6i7VtP3BlkfASZeAdKAiSjKh6ydV8PuJjV2HHh2WvxIKC3QQXzROwWAdeXLcgMTiKSBMULzFV8BsecgtI86_L2OISgbQZ2LgF137EPJoG7C4 L1IO-10T1QIVl-Emy6AS0VKVxdzjCgiT-DFtccxME6n1CruoDy6mTKztcAkiFR1IlgY6Fvj-Y_goMQyxA5sCRebWnOQ5jeUKv4KNyNWOLJU_RiZYe0kj4IT3KDc9jjtHykg}

但是,即使我成功获取 token ,并且当我单步执行 VS 中的调试器时,我看到 token 进来,授权失败。我收到以下回复:

{"Message":"Authorization has been denied for this request."}

问题似乎出在服务器端。当我重写 IsAuthorized 以返回 true 时,它​​起作用了。

在 Azure 中,两个应用程序位于同一目录中,并具有委派权限。

我可以检查任何日志来了解确切的拒绝原因吗?从那里我大概可以弄清楚发生了什么。

我已打开跟踪:

// Web API configuration and services
var traceWriter = config.EnableSystemDiagnosticsTracing();
traceWriter.IsVerbose = true;
traceWriter.MinimumLevel = TraceLevel.Debug;

但这并没有真正告诉我为什么我会被拒绝。

最佳答案

因此,Azure AD 目录似乎已损坏。我认为我创建的原始概念应用程序可能出了问题。无论出于何种原因,我无法在 Azure 门户中删除该应用程序,因此无法删除该目录本身。

但是,不幸的是,创建一个全新的目录似乎可以解决这个问题。我遵循所有相同的指示。

唯一的区别是我在 Web.config 中添加了以下内容:<add key="owin:AppStartup" value="buckets_api.Startup"/> 。然而,上次我添加:<add key="owin:AutomaticAppStartup" value="false"/>解决我在使用新模板时遇到的 api 启动问题。但是,我不认为这能解决问题。

顺便说一句,我还注意到,如果我不以管理员身份重新启动应用程序,Chrome 就无法在弹出浏览器中完成 token 交换。我不确定这是否也相关,因为我之前获得过代币,所以我不这么认为。但我想完整记录对我有用的方法,以防其他人将来遇到这种情况。

关于azure - 此请求的授权已被拒绝 - Azure Active Directory - 有哪些日志可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39434081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com