没有Passport.js的Google +身份validation
我无法理解Google +的身份validation和授权的标准stream程,而无需使用Passport
需求:
- 没有passport.js (我知道这是简单的使用它,但我不想用它)
- 没有会议 (不会使用任何会议,我想保持无国籍)
当前架构:
- 我有一个REST API服务器,JWT(JSON Web令牌),
- 当用户进行POST /login时,用户将从我的服务器获得访问令牌
- 我的服务器,将检查用户名和密码,并返回访问令牌
- 这个令牌是我的服务器中将来的API查询所需要的
题:
我)我怎样才能取代我目前的身份validation与谷歌+?
ii)当我使用Google +buttonlogin时,我在客户端有一个访问令牌,是否将令牌发送回我的服务器?
iii)但是,我的服务器没有这个用户的信息?,我需要先在我的服务器中创build这个用户,当它发送一个访问令牌到我的服务器,我会检查这个用户是否有效,并返回与我的服务器访问令牌? (所以对于这个用户,我的服务器数据库上没有密码信息,这个来自google的访问令牌将被存储在我的服务器中)
四)我读了他们的文档https://developers.google.com/+/web/signin/server-side-flow他们正在使用会话,当用户第一次访问页面,我不想使用sessiosn
我想知道一般stream程,我自己可以实现的代码,我只是想知道通用架构来解决这个问题!
如果你能向我展示处理这个问题的一般概念,那将是非常棒的! 🙂
这是实施Google+login的最值得推荐的方式
Google混合服务器端login程序
总结起来,有2部分,
- 从Google获取身份validation令牌
- 发送Google身份validation令牌,从您的服务器交换另一个令牌
1)要从Google获取身份validation令牌,可以使用其可用的SDK
2)一旦你从谷歌获得authentication令牌,再次从客户端发回你的服务器
3)在您的服务器上,交换来自Google的身份validation令牌以获取其访问令牌,以便代表用户使用Google API。 您可以检索用户信息,发布Google+信息
4)生成您自己的服务器访问令牌并将其发送回客户端
5)在你的客户端,保存你的服务器生成的访问令牌,用于CRUD从你的服务器
- firebase是否为每个admin.auth()。verifyIdToken(idToken)发出networking请求?
- expression3.0和护照authentication
- validationcaptcha以及passport.js
- 如何限制API只能在浏览器中运行?
- 根据MongoDB检查login凭据不起作用
- 使用Passport在Socket.io上进行令牌validation
- 如何在使用mocha / chai进行unit testing时覆盖护照authentication?
- 正确的方式来结合使用loopback.js路由和APIvalidation
- 如何在Node.js中重新使用由Play Framework 2.2设置的签名cookie?