向OAuth注册rest API

Ishara马拉维拉奇

我编写了一个Web应用程序,该应用程序对消息代理进行REST API调用。消息代理包含已经编写的REST API,可用于获取消息代理数据。编写消息代理的方式是,每个REST API调用都会发送以base64编码的用户名和密码。我需要登录我的Web应用并使用OAuth进行身份验证。有人知道该怎么做吗?如何使用OAuth验证REST API?

约翰·汉利

步骤1:将OAuth 2.0添加到您的Web服务器。这是非常标准的,有很多可用的库。您没有指定要使用的身份提供者(Google,Facebook,Auth0,Okta等),但是每个供应商都有文档和库供您以所需的语言使用。

步骤2:将授权标头添加到您的API调用中。标准方法是Authorization: Bearer access_token在进行API调用时添加HTTP标头

步骤3:将OAuth令牌验证添加到您的API。当您的API收到请求时,它将提取Authorization标头并验证Bearer令牌。如何完成此操作取决于身份提供者。例如,某些供应商提供了签名的JWT(您可以使用供应商的公共证书进行验证),而其他供应商则提供了不透明的访问令牌(您可以通过调用供应商的令牌端点进行验证)。添加令牌的内部缓存,以便您无需在每个API调用中进行验证。

如果您了解OAuth 2.0,则上述步骤很容易实现。如果您不这样做,Oracle提供了一系列视频,非常适合您入门了解OAuth。

Oracle云入门

如果所需的OAuth实现不需要用户登录并且是您在两端控制的服务器到服务器服务,则可以仅使用OAuth的一部分,即签名JWT(JWS)。您可以使用所需的内容创建一个Json数据结构,并使用私钥对其进行签名。这将创建一个可以在上述步骤中使用的令牌。然后,您将使用公共密钥来验证令牌。您可以使用OpenSSL或类似产品生成的自生成密钥对进行签名和验证。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章