首先我要解释一下我想要完成的任务:
- 用户在我的应用程序中导航到"/login" 生成
- a nonce,用于创建URL以将用户重定向到外部服务
- 用户使用外部服务进行身份验证,并使用GET参数 重定向回我的应用程序
- 使用nonce验证GET参数,并从外部服务 检索用户信息
- 用户从我的应用程序的数据库加载(或创建,如果他们不存在),并登录
- 登录后,用户角色决定该用户对 的访问权限
我最初是通过控制器动作实现的,其中loginAction重定向到外部服务,外部服务重定向回authAction。在authAction中,用户被加载(或创建)并以编程方式登录。
我认为前面的方法可能是黑客式的,并试图尝试SimplePreAuth教程,但我没有运气。
我最好的方法是什么?
我基本上只是采用了我认为可能有点黑客的解决方案。