angularjs – 在前端OAuth成功验证后如何与后端进行交互?

前端之家收集整理的这篇文章主要介绍了angularjs – 在前端OAuth成功验证后如何与后端进行交互?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想建立小应用程序.会有一些用户.我不想制作我自己的用户系统.我想将我的应用程序与oauth / oauth2.0整合.

在我的前端应用程序和oauth 2.0的集成中没有问题.有这么多有用的文章,如何做到这一点,即使在stackoverflow.com.例如this post是非常有帮助的.

但.在前端成功授权后该怎么办?当然,我只能在客户端上标记,说“好的,伙伴,用户被认证”,但是我现在应该如何与我的后端进行交互?我不能只是提出一些要求.后端 – 一些应用程序,它提供API功能.每个人都可以访问这个api.

所以,我的FE和BE之间我还需要一些验证系统.这个系统应该如何工作?

ps我有一些英语问题,可能我不能正确地“问谷歌”.你可以提供正确的问题,请:)或至少提供一些关于我的问题的文章.

UPD

我在寻找概念.我不想为我目前的问题找到一些解决方案.我不认为这是FE和我使用的东西(无论如何我会的
在下面提供有关信息)

FE和BE将使用JSON进行通信. FE将提出请求,BE将发送JSON响应.我的应用程序将具有这种结构(可能):

前锋 – 大概AngularJS
>后端 – 可能是Laravel(laravel将实现逻辑,也有数据库在结构中)

也许“服务提供商”像google.com,vk.com,twitter.com等会记住用户的状态?在FE成功授权之后,我可以从BE询问用户状态?

创建API时,我们有3个主要的安全问题.

>认证:像谷歌这样的识别提供商只是一个部分解决方案.因为您不想提示用户登录/确认每个API请求的身份,所以您必须自己为后续请求实施身份验证.您必须存储,可访问后端:

>用户ID. (取自身份提供者,例如:电子邮件)
>用户令牌. (您生成的临时令牌,可以从API代码进行验证)

>授权:您的后端必须根据用户ID(这是您自己的业务)实现规则.
>运输安全:HTTPS和过期Cookie是安全的,不能被其他人重放. (HTTPS正在加密流量,从而击败中间人的攻击,并且到期cookies将在以后的时间内重播)

所以你的API /后端有一个电子邮件查询表到随机字符串.现在,您不必公开用户的ID.令牌是无意义和暂时的.

在这个系统中,流程如何工作:

User-Agent    IdentityProvider (Google/Twitter)   Front-End    Back-End
 |-----------------"https://your.app.com"---------->|
                                                    |---cookies-->|
                                 your backend knows the user or not.
                                       if backend recognizes cookie,user is authenticated and can use your API

其他:

if the user is unknown:
                                                    |<--"unknown"-|
                     |<----"your/login.js"----------+
                "Do you Authorize this app?"
 |<------------------+
 |--------"yes"----->|
                     +----------auth token--------->|
                     |<---------/your/moreinfo.js---|
                     |-------access_token ---------->|
                1. verify access token
                2. save new user info,or update existing user
                3. generate expiring,random string as your own API token
                                                    +----------->|
 |<-------------- set cookie: your API token --------------------|

现在,用户可以直接使用您的API:

|--------------- some API request,with cookie ---------------->|
 |<-------------- some reply,depends on your logic,rules ------|

编辑

基于讨论 – 补充说,后端可以通过验证身份提供者的访问令牌来验证用户

例如,Google exposes this endpoint检查令牌XYZ123:

https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123

猜你在找的Angularjs相关文章