首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在google注册用户

在google注册用户
EN

Stack Overflow用户
提问于 2020-05-09 19:50:25
回答 1查看 590关注 0票数 0

我有一个典型的网络应用程序,我想让用户注册使用他们的谷歌帐户。我的前端应用程序是用离子/角度编写的,所以我使用了一个插件(https://github.com/CodetrixStudio/CapacitorGoogleAuth)。我相信它使用了"oauth2隐式流“(如果我错了,请纠正我)。

我已经在(web应用程序)上配置了应用程序,我可以使用我的帐户获取访问令牌和帐户信息。

我的问题是我不确定我做得对不对。因为:

  1. 在google控制台上有一个叫做“客户端秘密”的东西,但我不知道如何使用它,也不知道它是否适用于这个流(我认为不是,但我不确定)
  2. ,我计划下一步做的是将访问令牌发送到后端,然后验证令牌。我希望令牌验证过程能够“离线”。但事实证明,我需要向谷歌发送一个请求。所以我的问题是:难道没有办法用“客户端机密”来唱令牌,这样我就可以在后端验证令牌而不打扰google了吗?
  3. 我不想重新发明轮子,但是找不到任何用户注册的例子。我应该只是验证令牌,掌握电子邮件地址,并将它添加到我的数据库?(我还需要oauth响应中的其他内容吗?)
EN

回答 1

Stack Overflow用户

发布于 2020-05-10 17:27:33

我想我已经准备好回答我自己的问题了(希望这会对某人有所帮助)

首先,我想推荐这个视频:https://www.youtube.com/watch?v=996OiexHze0

第一件事是有两个主要的OAuth2流:

  1. code
  2. implicit

第二件事是区分身份验证和授权。认证就是告诉“你是谁”。授权是关于“你能做什么”。大多数时候,当您阅读关于OAuth2的文章时,它的重点是授权(比如,如果您有令牌的话,可以访问某些资源)。

但在我的例子中,这是一个身份验证问题,而OAuth2 OpenID正是我所需要的(同样--视频中的更多细节)。我使用隐式流(直接返回令牌给调用者),因为我需要在注册表单中显示用户的电子邮件(让他填写其余的)。因此,在我的场景中,不需要使用“客户端机密”(用于从代码中获取令牌-应用于代码流)。

因此,我的通信模式应该如下所示:

request

  • Result
  1. 用户打开注册页面
  2. 点击“与谷歌注册”按钮
  3. ,他被重定向到谷歌的OAuth2页面,在那里他可以接受返回给我的前端应用程序。结果包含id_token (JWT由google签名)
    1. 我的角应用程序可以填充一些注册字段(例如电子邮件地址),使用
    2. 用户(从

    应用程序)向后端发送注册请求。该请求包含id_token -它可以被验证(在线或离线;请参阅https://www.oauth.com/oauth2-servers/signing-in-with-google/verifying-the-user-info/ ),在文章末尾,离线验证被触摸,并有一个指向Google的文档的链接),以确保电子邮件地址是一个现有的

    1. ,在成功的令牌验证之后,这取决于web应用程序下一步该做什么。例如,它可以保存用户的电子邮件地址.

在移动应用程序中,它使用了一些内部Android库,但通用模式适用。

关于流量我送你去录影带。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61702793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档