Azure Function v2 google 身份验证 google

Azure Function v2 google authentication with google

我有一个 Azure 函数应用程序,使用 google 登录(我现在只需要 google),但我无法正确验证

试验 1:

  1. 我向我的 api 发出获取请求:https://examplefunctions.azurewebsites.net/
  2. Google 验证弹窗
  3. 输入我的凭据
  4. 然后我向 https://examplefunctions.azurewebsites.net/.auth/me
  5. 发出 get 请求
  6. 我得到一个 json access_tokenid_token 和其他属性,如 user_claims等
  7. 那我去找post人
  8. 向具有 AuthorizationLevel.Anonymous 的函数发出获取请求:https://examplefunctions.azurewebsites.net/api/myfunction
  9. 在使用 OAuth 2.0
  10. 的授权中输入 access_token
  11. server return an 401: 您没有权限查看此目录或页面。
  12. 然后将 access_token 替换为 id_token 在 [=133= 中的授权选项卡中的信息] man和服务器return一样。

之后执行以下操作:

试验 2 :

  1. 在浏览器中转到 https://examplefunctions.azurewebsites.net/.auth/login/google
  2. Google 验证弹窗
  3. 输入我的凭据
  4. 服务器重定向到具有此 属性 authenticationToken
  5. 的 url
  6. 我在OAuth2.0中输入这个authenticationToken postman 和return一样 401:你没有权限查看这个目录或页面。

然后我这样做并进行身份验证:

试验 3 :

  1. 在浏览器中转到 https://examplefunctions.azurewebsites.net/.auth/login/google
  2. Google 验证弹窗
  3. 输入我的凭据
  4. 服务器重定向到具有此 属性 authenticationToken
  5. 的 url
  6. 在 post 人的 header 中,我将 X-ZUMO-AUTH 与先前在 authenticationToken[ 中接收到的值放在一起=77=] 瞧,服务器响应状态正常,符合我的预期 json。

但这里的问题是试用 3(唯一有效的)我没有收到索赔。 --> 在这里我得到一个空 var claims = req.HttpContext.User.Claims;

我需要用户 google 信息。另一件事是我不想使用像 X-ZUMO-AUTH 这样的 header 登录,我想使用 OAuth 2.0 标准。

我不知道为什么我不能使用试用1和2访问,因为我登录后服务器return给我一个令牌,这个令牌似乎没有用。

一个星期以来,我一直在努力做好 google 身份验证,但我做不到,我需要你的帮助。

注意:我将使用 api 和 angular、postman、xamarin 或者 flutter

上周出现了倒退。已部署修复程序。客户将在站点重新启动后接受新行为(因此,如果这不是自然发生的,则可能需要重新启动他们的站点)。

我找到了解决办法!!!

问题是我单独使用了 azure 函数验证,但是为了在 azure 中进行最佳实践验证,您需要使用 azure 函数应用程序说服 Azure B2C Active Directory 租户

我按照教程学习了 :

这里学习配置租户
https://youtu.be/a1s6LMXi7Xk

这里结合之前的学习完成Azure Functions认证 https://blogs.msdn.microsoft.com/hmahrt/2017/03/07/azure-active-directory-b2c-and-azure-functions/

现在每个登录我的应用程序的用户都在 B2C 租户中注册,我可以获得更多关于谁在使用我的应用程序以及何时登录等的详细信息