Easy Auth 对某些人返回空响应
Posted
技术标签:
【中文标题】Easy Auth 对某些人返回空响应【英文标题】:Easy Auth returns empty response for some people 【发布时间】:2019-09-30 08:03:30 【问题描述】:我正在使用/.auth/me
端点为用户获取声明。
我正在获取 Bearer 令牌以对端点进行身份验证。
端点本身位于 Azure 函数源上,所以我调用的是 https://azure_function_name.azurewebsites.net/.auth/me,其中 Authorization
标头设置为 Bearer (token)
这适用,但不适用于所有人。
有些人从/.auth/me
端点得到以下响应:
[]
为什么/.auth/me
端点对某些令牌(人)返回有效响应,而对其他令牌(人)返回空响应?
【问题讨论】:
您是如何获得访问令牌的? AFAIKEasy Auth
是 WIP github.com/Azure/azure-functions-host/issues/33
您对此还有其他顾虑吗?
@TonyJu 访问令牌来自 Azure 函数入口点的请求对象的 Authorization
标头。
【参考方案1】:
我正在使用OAuth 2.0 auth code grant(使用用户登录)来获取访问令牌。我可以通过端点/.auth/me
得到正确的响应。我已经在我的租户中尝试了会员或访客用户。
您可以尝试直接访问https://azure_function_name.azurewebsites.net/.auth/me。登录后会收到回复。
回复网址应为https://azure_function_name.azurewebsites.net/.auth/login/aad/callback
【讨论】:
实际上,当我在浏览器中导航到该端点时,我收到The reply url specified in the request does not match the reply urls configured for the application
错误,但我认为这并不重要,因为有些人得到了他们的声明,而另一些人得到了空数组作为回应,但他们都得到了200 OK
@Szybki 你能检查一下回复的网址吗?我已经更新了我的答案。它很奇怪。 “访问令牌来自 Azure 函数入口点的请求对象的授权标头。”登录后获取访问令牌了吗?
很遗憾,完全没有。我解决了这个问题,只是检查我是否得到 200 OK 或 401 未经授权的响应,以验证用户是否已通过身份验证。我仍然不知道为什么对于某些令牌,我在响应正文中得到空数组。以上是关于Easy Auth 对某些人返回空响应的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Guzzle Basic Auth成功返回空