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 也许“服务提供商”像google.com,vk.com,twitter.com等会记住用户的状态?在FE成功授权之后,我可以从BE询问用户状态?
创建API时,我们有3个主要的安全问题.
>认证:像谷歌这样的识别提供商只是一个部分解决方案.因为您不想提示用户登录/确认每个API请求的身份,所以您必须自己为后续请求实施身份验证.您必须存储,可访问后端: >用户ID. (取自身份提供者,例如:电子邮件) >授权:您的后端必须根据用户ID(这是您自己的业务)实现规则. 所以你的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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |