【发布时间】:2016-02-24 22:09:04
【问题描述】:
我想构建小型应用程序。会有一些用户。我不想制作自己的用户系统。我想将我的应用程序与 oauth/oauth2.0 集成。
我的前端应用和oauth 2.0集成没有问题。有很多有用的文章,如何做到这一点,甚至在 stackoverflow.com 上。例如this post 很有帮助。
但是。前端授权成功后怎么办?当然,我可以只在客户端上有一个标志,上面写着“好的,伙计,用户已通过身份验证”,但是我现在应该如何与我的后端交互呢?我不能只是提出一些要求。后端 - 一些提供 API 功能的应用程序。每个人都可以访问这个 api。
所以,无论如何,我的 FE 和 BE 之间都需要一些身份验证系统。这个系统应该如何工作?
ps 我的英语有一些问题,可能我不能正确地“询问谷歌”。您能否提供正确的问题,请:) 或者至少提供一些关于我的问题的文章。
更新
我正在寻找概念。我不想为我当前的问题找到一些解决方案。我认为我使用哪个 FE 和 BE 并不重要(无论如何我会 在下面提供有关它的信息)
FE 和 BE 将使用 JSON 进行通信。 FE 将发出请求,BE 将发送 JSON 响应。我的应用程序将具有这种结构(可能):
- 前端 - 可能是 AngularJS
- 后端 - 可能是 Laravel(laravel 会实现逻辑,结构中还有数据库)
也许像 google.com、vk.com、twitter.com 等“服务提供商”会记住用户的状态?在FE上成功认证后,我可以从BE询问用户状态吗?
【问题讨论】:
-
您是否使用 JSON 进行通信?基本上,这取决于您如何在后端实施授权。我通常会在访问 API 时将标志的值作为键值对作为 JSON 数据的一部分发送到我的后端。我会在启动会话或将令牌字符串发送回客户端时检查此密钥。
-
您使用的是什么服务器端框架?您是如何实现 Oauth2 身份验证的?
-
@Dvir ,解决我的问题真的很重要吗?我问的是概念,而不是这个问题的解决方案。
-
我了解您将在前端使用 javascript,在后端使用 php。无论您使用什么,您都需要将数据发送到后端以通知用户已成功通过身份验证。发送此数据的最佳方式是将其添加到您的请求中。
-
我问是因为听起来你在问当用户获得令牌时我应该怎么做?您实际上假设将其添加到请求的标头中,以便获取请求的服务器将获取令牌并知道处理与发送请求的用户相对应的请求。
标签: angularjs oauth oauth-2.0 frontend backend