我在考虑用Passport 在拉雷维尔5号开发一个完整的身份系统.

Following is my requirement:

  1. 我应该有像identity这样的主身份管理应用程序.我的网站.我的所有用户都存储在com上.
  2. I have 2 other applications APP1, APP2.
  3. 当用户在App1上请求受限资源时,他应该通过Identity.mysite.com进行身份验证
  4. 一旦通过身份验证,就允许用户访问APP1上的资源
  5. 同时,若用户决定访问APP2上的受限资源,则不应再次要求他放置凭据.

Things I've tried:

  1. simpleSAMLphp-SAML是一个为我做这些事情的选项.但它还没有OneLogin成熟,我不打算在这个阶段采用SaaS模式,除非有必要.
  2. Laravel Passport - oAuth 2.0 seems tempting. I can even use, Passport Grant Tokens but I'm unsure on how reliable it is over SAML. Also, Laravel Passport is being widely used to authenticate API. Is it going to be useful while authenticating traditional session based apps? I haven't seen any example where the proper SSO is implemented with more than one application and laravel passport.

我知道OAuth 2.0不是一个身份验证协议.相反,它使用名为Authorization的东西,但我们可能可以使其支持前面提到的身份验证协议here.是不是拉威尔Passport 支持的东西?

推荐答案

这就是我所说的面向资源的方法,其中所有客户端(app1、app2…)想知道请求用户是否有权访问资源...

Here we need to shift all the authenticating logic to oauth and make all our requesting apps dependent on OAuth. This way if user request app to access resources then if:

  1. 令牌存在,然后应用程序将请求oauth服务器验证给定令牌,如果发现为真,则应用程序将向用户提供访问权限.

  2. 如果令牌不存在,那么您可以通过请求凭据来解决这个问题,APP会将用户数据传输到OAuth服务器并验证它,并使用令牌进行响应.

As per my experience I use to implement this approach and I think Laravel Passport is an abstraction layer over top of your authenticating system. You can mold it however you need. There are few more enhancement and advancement can be done but this would work as a basic layer over top of your SSO.

Laravel相关问答推荐

如何在控制器中获取所需参数?

Laravel 数据未传递到下拉框

如何解决此 Backblaze B2 S3 兼容 API 错误?

分页计数(*)查询问题

判断 Laravel 中是否存在唯一索引键

Laravel 5.7 判断Electron邮件是否经过验证

如何使用 Eloquent Laravel 更新集合

Laravel 查询构建器 - 如何按别名分组,或进行原始 groupBy

无法安装 Laravel 包 - 干预图像

在 Laravel 中无效后防止重定向到主页

你如何在自定义 Laravel Nova 工具中使用确认对话?

Laravel 5 文件下载:stream() 或 download()

使用 vue-router 更改路由时中止所有 Axios 请求

如何更改 Handlebars.js 的默认分隔符?

Laravel 5.4 有时验证规则不起作用

找不到框laravel/homestead

如何在laravel中获取列值的平均值

Laravel X-CSRF-Token 与 POSTMAN 不匹配

如何以 JSON 格式发送 Laravel 错误响应

复合唯一密钥验证 - laravel