我正在使用受Azure AD保护的Azure Function API,当我使用有效的帐户登录后通过浏览器请求它时,它可以正常工作,但是当我尝试使用邮递员时,它仍然显示未经授权的访问权限,
>我有一个随请求发送的访问令牌,但是对于我赋予的scope属性,此值https://graph.microsoft.com/.default
可能是问题所在。但是不确定我做错了什么,以及在邮递员的scope
选项的get new access token
字段中输入什么来对我的API进行身份验证。
HTTP请求邮递员制作
GET /api/events/active HTTP/1.1
Host: moya-backend-ascentic.azurewebsites.net
Authorization: Bearer ****IHqMgweN86fDnyL4jvz9P6ZllpjjD9t***
User-Agent: PostmanRuntime/7.13.0
Accept: */*
Cache-Control: no-cache
Postman-Token: 655e0672-4928-409e-a709-841a92ee6f14,22cbf978-f196-4099-ae10-d162d3068507
Host: moya-backend-ascentic.azurewebsites.net
accept-encoding: gzip, deflate
Connection: keep-alive
cache-control: no-cache
答案 0 :(得分:1)
范围应为:your-api-client-id/.default
。
用Azure AD中API应用程序的客户端ID /应用程序ID替换your-api-client-id。
现在,由于基于浏览器的登录似乎可以正常工作,因此您可能在API上设置了错误的身份验证类型。 如果令牌仍不起作用,则需要在应用程序上设置JWT身份验证,而不是基于浏览器/ cookie的身份验证。
答案 1 :(得分:1)