将OAuth2.0身份验证添加到 RESTfulAPI

我有一个需要通过 OAuth 2.0 进行身份验证的 API。我最初预计使用HWIOAuthBundle,但是从调查来看,这更多地与将第三方连接到 Symfony 的安全 / 身份验证机制有关,并且不提供验证 OAuth 2.0Authorization头所需的机制。

我有一个需要通过 OAuth 2.0 进行身份验证的 API。我最初预计使用HWIOAuthBundle,但是从调查来看,这更多地与将第三方连接到 Symfony 的安全 / 身份验证机制有关,并且不提供验证 OAuth 2.0Authorization头所需的机制。

然后,我发现了一些关于FOSOAuthServerBundle的信息,它使应用程序成为自己的 OAuth 2.0 提供者,并提供所需的安全机制来验证Authorization头。

但是问题是,我想将 OAuth 2.0 提供程序(授权服务器)集成到外部应用程序(包含用户群)中,而不是将其包含在 API 中。这将提供一些机制,用于通过(另一个)RESTful API 针对此外部应用程序执行令牌验证。

Points:

RESTful API 需要 OAuth 2.0 身份验证。

OAuth 2.0 授权服务器位于单独的应用程序中。

我觉得我应该使用Implicit授予并在每个请求上调用授权服务器来验证令牌是否正确。

我的想确吗?

5

至于我 undesratnd 您的要求,您需要通过外部 OAuth 授权服务器验证您的 API:

客户端需要提供上述步骤中检索到的访问令牌以及访问受保护资源的请求。访问令牌将作为请求标头中的授权参数发送。

服务器将根据令牌对请求进行身份验证。

如果令牌有效,则客户端将获得对受保护资源的访问权限,否则访问将被拒绝。

这里是一个example,它可能会帮助您实现您的要求。检查此document

或者简单地说,你可以用Jersey and Oauth

此外,您可以检查Apache Oltu并找出实现您的要求的方法。

3

A lot of the big companies like Google, Facebook etc have a separate authorization server from the API server. Check out Google's OAuth authorization flow below Google OAuth Authorization

您也可以查看 Google 的OAuth Documentation了解详情。

因此,您需要做的就是实现 OAuth 提供程序,以便您可以授权该提供程序。OAuth 网站上有一个可用的库列表:http://oauth.net/code。您可以具体查看here;有一个在 Java 中运行 OAuth 服务提供商的示例。

2

oAuth 绝对可以是应用程序服务器以外的服务器。下面是身份验证序列的图片:

enter image description here

-显然,如果论坛无法解码或验证令牌,论坛将返回 401 状态代码而不是 200 状态代码。

只要您的 oAuth 服务器 & amp;论坛共享相同的公钥,您就可以分割您的 oAuth 服务器 & amp;您的应用程序。

事实上,看看jwt.io。将您从 oAuth 服务器获得的令牌粘贴到那里。它应该能够立即解码令牌。然后,您可以将您的公钥放入 'secret' 文本框中,以验证令牌是否得到验证。

您的应用程序(论坛,在这个例子中)应该能够做到这一点:

1)从请求的授权头获取令牌

2)解码令牌

3)检查到期日期

4)使用 oAuth 的公钥验证令牌

5) 返回成功状态码或失败状态码

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(122)
如何在Wordpress中正确出列某些Elementorcss文件
上一篇
当需要在视图上执行invalidate()时
下一篇

相关推荐

  • php如何做接口:使用 PHP 创建 RESTful API 接口

    示例示例PHP可以使用CURL来实现接口,下面是一个简单的代码示例:…

    2023-01-15 03:39:24
    0 89 87
  • Ful i one:netsuite有RESTfulAPI吗

    关于Ful i one的问题,在netsuite api documentation pdf中经常遇到,我想知道 Netsuite 是否提供 REST ful api?目前我正在使用基于 SOAP 的 Web 服务与我的应用程序(java)进行集成。我已经做了一些研究,但没有得到有用的信息。…

    2022-12-11 10:11:46
    0 30 17
  • Cv林簌:隔离林评价(anomaly detection with isolation forest)

    关于Cv林簌的问题,在anomaly detection with isolation forest中经常遇到,第一次使用隔离森林 (sklearn) 运行异常检测。我有一个连续变量的数据帧与我一个热编码的分类变量混合。然后我创建了一个数据透视表 (我每天所有字段的总和)。我运行了模型,并将异常分数和标签添加到我的表中。问题是...有没有办法查看哪些特征 (s) 对任何给定异常的异常标签有贡献?…

    2022-12-18 08:18:23
    0 48 60
  • 来自RESTfulAPI的分页响应有效负载

    我想在我的 RESTful API 中支持分页。…

    2022-11-18 10:50:33
    0 61 97
  • 什么是监控REST资源更改的RESTful方式

    如果我想监视其他客户端的更改或修改的 REST 资源,那么最好的(也是最 RESTful 的)方法是什么?…

    2022-11-11 15:20:02
    0 40 79
  • Read-Modify-WriteRest Api设计的最佳实践

    我有一个 restful api 来更新服务器端的一堆对象。例如,我有一个像这样的对象:…

    2022-11-20 04:00:33
    0 86 73
  • 我们如何使用来自Excel宏(vba)的restfulAPI

    有一个插件或库,可用于从 Excel 访问 RESTful API(可能使用宏),然后将响应存储在某个地方(可能在工作表中)。…

    2022-11-11 15:14:14
    0 19 96
  • 生成具有所有 RESTful函数的控制器

    我试图生成一个带有所有 RESTful 操作的控制器。我在Wikibooks-Ruby on Rails处读到,我需要做的就是用控制器名称调用生成器,我会得到这个。所以,我运行了script/generate rspec_controller Properties,但得到了一个空的控制器。…

    2022-11-11 15:11:55
    0 59 80

发表评论

登录 后才能评论

评论列表(2条)