外部身份验证提供程序和对 RESTful API 的请求的身份验证

Posted

技术标签:

【中文标题】外部身份验证提供程序和对 RESTful API 的请求的身份验证【英文标题】:External authentication providers and authenticating requests to RESTful API 【发布时间】:2018-05-18 14:13:47 【问题描述】:

我正在努力将谷歌登录添加到我的网络应用程序。这是一个 RESTful 应用程序,因此一旦用户登录,每个单独的请求都必须使用令牌进行身份验证。

目前,我使用 JWT 创建自己的令牌。我可以将有用的信息添加到令牌对象以帮助进行状态管理。

我的问题是:一旦我将 google 添加为身份验证提供程序,我是否需要将每个请求发送给 Google 进行身份验证,而不是在我自己的服务器上进行身份验证?然后我会失去自定义令牌内容的能力吗?

对于外部身份验证提供程序,管理单独的 JWT 以调用 RESTful API 是否正常?

【问题讨论】:

【参考方案1】:

通常,您将让登录操作使用第三方来识别用户。您的内部代码可能会创建/存储/获取某种应用程序本地用户配置文件,并且您将基于此创建您的 JWT。然后,对带有有效令牌的 API 的进一步调用被认为已经过身份验证,因此不需要进一步调用身份验证提供程序。

【讨论】:

谢谢。我知道这是一个非常笼统的问题,但有时某些主题周围会出现迷雾,似乎再多的谷歌搜索也无法消除。

以上是关于外部身份验证提供程序和对 RESTful API 的请求的身份验证的主要内容,如果未能解决你的问题,请参考以下文章

如何在本地 IdentityContext 中注册从外部身份验证提供程序获得的用户

移动应用程序的 Laravel RESTful API 身份验证

Node.JS RESTful API 的最佳身份验证方法

如何存储 RESTful API 的身份验证数据

如何在 RESTful WCF API 中实现 HMAC 身份验证

Openid 和 RestFul API