将 OAuth2 集成到我的网站 API

Integrate OAuth2 to my Web API

我为我的 Web 应用程序创建了一个 API,现在我想集成 OAuth2 协议来保护对我的 API 的访问。有可能或者我可能会重写所有 API ?

谢谢

集成 OAuth2 层是完全可能的,但这将取决于您如何编写 API。让我们从头开始。

您使用的是什么语言? 基于此,有许多组件可以集成 OAuth 安全层。

但是如果你想自己做,我会告诉你我是如何在某个项目中做的。

这个协议的实现涉及,在我的例子中,4个表:oauth_access_token(其中存储了用户的访问令牌),oauth_client(可以获取访问令牌并刷新的客户端令牌),oauth_refresh_token(其中存储刷新令牌,最终可以交换访问令牌)和oauth_auth_code

之后,您需要为 API 创建至少 2 个端点:

现在您需要创建一个 CRUD,开发人员将使用它来注册他们的应用程序,这些应用程序将与您的应用程序集成。记得询问回调 URL。注册后,您将为他们提供一个 clientID 和一个 clientSecret。有了这些凭据,他们就可以请求授权。

请记住,您的 API 必须使用 access_token 检查 Authorization header。如果有效,您可以授予您访问权限 API。

可能会在您的所有 API 调用中检查这一层,因此您将需要一个中间件。根据您使用的语言或框架,这将非常容易实现。

希望这对某些事情有所帮助:)