【问题标题】:How to handle OAuth 2.0 with a REST API for public and private application?如何使用公共和私有应用程序的 REST API 处理 OAuth 2.0?
【发布时间】:2016-02-26 07:09:24
【问题描述】:

目前,我正在开发一个可供公共客户端使用的 REST API,但我也想在我的移动应用程序中使用它。

对于公共客户端,我考虑使用 Clients Credentials 授权,在这种情况下,他们必须在我的 Web 应用程序中注册他们的应用程序,这将为他们提供客户端密钥和客户端密码,然后,他们可以请求访问与他们一起令牌,我也可以知道与凭据相关的用户

但是对于我的移动应用程序,我需要有一个登录部分,我需要使用授权码授予来保护我的数据,但我不确定是否有必要。

基于此,我有几个问题: 1.授权码授予它是最好的方法吗? 2. 在同一个端点有两个授权流程是一种不好的做法? 3. Dropbox、Twitter等...都有REST API,他们如何在自己的应用中管理授权?

提前感谢所有问题,抱歉

【问题讨论】:

    标签: api rest oauth-2.0 authorization laravel-5.1


    【解决方案1】:

    我设法用两种方法解决了这个问题,目前我选择第一种。

    1. 创建一个带有参数的授权服务器,该参数指示它要求使用哪种授权授予,这样我可以根据此决定遵循哪种流。为此,我遵循 OAuth 2.0 规范,使用正确的名称和参数进行传递,以便有一种很好的方式来验证我们的客户端和应用程序。

    2. 创建一个 API 网关,我可以在其中使用 Node.js 为我的 API 发送所有身份验证请求,并在其中决定它请求身份验证的 API 以及它使用的授权类型。您可以在此处获得更多信息:

    https://www.nginx.com/blog/building-microservices-using-an-api-gateway/

    【讨论】:

      猜你喜欢
      • 2021-02-16
      • 2014-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 2014-08-28
      • 1970-01-01
      相关资源
      最近更新 更多