2

我正试图围绕 oauth2 进行思考,所以我实际上知道我在做什么,但并非一切都清楚。

我知道在 OAuth2 中我们有各种可用的流程。很受欢迎的是(我认为):

  • 授权码授予
  • 隐式授权
  • 密码授予

在我的 SPA 中,我使用https://auth.nuxtjs.org/来处理用户授权。在后端,有 Laravel Passport。这个 auth 模块为我们提供了对 OAuth 的内置支持,以及在它之上的一些额外的抽象层——比如 Laravel Passport。我知道这些提供者是某种方案的扩展,是为特定服务预先配置的。

我不确定本地方案(https://auth.nuxtjs.org/schemes/local)之间有什么区别,如下所示:

local: {
        token: {
          property: 'access_token',
          type: 'Bearer'
        },
        user: {
          property: 'user',
        },
        endpoints: {
          login: {url: '/login', method: 'post'},
          logout: {url: '/logout', method: 'post'},
          user: {url: '/user', method: 'get'}
        }
      }

还有 Laravel Passport 提供程序(https://auth.nuxtjs.org/providers/laravel-passport),它的工作原理是这样的(这个我无法工作):

'laravelPassport': {
        provider: 'laravel/passport',
        endpoints: {
          userInfo:  {url: '/user', method: 'get'}
        },
        url: 'http://publisher-local.co.uk:8080/api/v1',
        clientId: '*',
        clientSecret: '****'
      }

他们不是一回事吗?我的意思是 Passport 只是一个 Oauth 的东西,我在那里发送凭据,所以我假设它是我的第一个示例中的密码授予流程

如果在基于 Oauth 方案的护照提供商中,我是否grantType:client_credentials也会将其视为密码授予流程

它变得更加令人困惑,因为当我尝试使用 Passport Provider 时,重定向的工作方式有所不同。

我不知道该选择什么以及如何理解整个过程。

4

0 回答 0