使用Google授权构建和保护Angular和节点rest API

问题描述 投票:1回答:2

我的REST API使用Node.js和Expressjs,我还有一个单独的Angular 6应用程序,它使用了API端点。我想将Google登录集成到应用中。即从Angular应用程序,用户可以通过Google登录。只有登录用户才能访问其余API。

什么是最好的图书馆/方法?

node.js angular express authentication gwt
2个回答
0
投票

您想要查看OAuth 2.0,这是一种用于登录第三方服务的身份验证协议。谷歌有他们的OAuth 2.0 docs here

您可以手动实现,也可以使用Passport.js等库。 Passport允许您创建多个用于登录的“策略”,因此您可以制定Google策略和Facebook策略,以允许用户使用Google或Facebook登录。使用Passport,您倾向于设置护照本身,然后引入一些实施主要Google OAuth代码的其他策略模块,然后您提供一些其他功能,以便在发出各种Google API请求后与您的数据库进行交互。

护照和护照谷歌策略将处理API与Google的“舞蹈”,然后他们将为您提供用户谷歌配置文件,您可以使用它来将用户添加到您的数据库,或查看他们是否是现有用户。然后,您可以使用护照和会话库来分配会话cookie。这应该给你足够的概述以便开始,有很多在线指南,所以你不应该盲目实施。


0
投票

我遇到了类似的问题,我使用了库auth0。 auth0的技巧是你使用他们的库和服务器进行身份验证(令牌等),他们管理一切。

在他们的网页上,你有一个教程解释如何使用角度https://auth0.com/docs/quickstart/spa/angular2/01-login

然后如何将它与nodejs集成:https://auth0.com/docs/quickstart/backend/nodejs/01-authorization

© www.soinside.com 2019 - 2024. All rights reserved.