使用 o-auth 在我的 API 上对用户进行身份验证

Posted

技术标签:

【中文标题】使用 o-auth 在我的 API 上对用户进行身份验证【英文标题】:Using o-auth to authentify users on my API 【发布时间】:2017-02-28 17:32:12 【问题描述】:

我有一个由两个网站组成的项目:

前端:一个没有数据库和逻辑的 Laravel 网站(只显示静态页面和我的 javascript) API:使用 Lumen/Dingo API 和我的端点、我的数据库、我的逻辑和我的模型的项目

我想让我的前端根据用户向我的 API 询问数据。

例如。我想记录用户,检索他的朋友,添加一些帖子到他的 帐户等(来自 Javascript)

什么是最好的解决方案?

使用每个用户的标识(使用 o-auth 或 JWT) 允许我的前端项目询问我的 API,然后每个 javascript 调用都需要在不知道我的 API 的情况下使用我的前端)(在此解决方案中,我需要创建类似于我的 API 路由的路由)

【问题讨论】:

【参考方案1】:

每个用户的识别总是一个更好的解决方案,因为可以根据每个用户来决定声明,而且在将来需要根据声明或角色提供访问 API 的权限时,使用声明和金额提供信息变得很容易您可以授予特定用户的访问权限。

所以它的工作方式是:

    将有一个身份服务器,其中包含系统中的用户列表,以及每个用户的蛤和范围。

    API 项目将信任身份服务器,这意味着身份服务器提供的任何令牌都可以得到验证。

    根据每个用户的令牌,您的 API 应用程序可以决定您想向用户提供多少信息。

    这样,将来您可以使用基于角色、声明的方法,并且只会向用户提供他们有权访问的信息。

【讨论】:

以上是关于使用 o-auth 在我的 API 上对用户进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章

为我的 API 实现 API 密钥

在与 api 不同的域上对单页应用进行 Auth0 身份验证

使用 RESTful 登录 API 验证我的 Spring Boot 应用程序

在 mongo、node、passport 和 heroku 上对用户进行身份验证。几天后停止工作

在 Qt 服务器上对用户进行身份验证

在有限内存上对大型矩阵进行矩阵运算