我有一个 MVC 网站(单页 JS 应用程序类型的东西),如果需要,可以安装 SS NuGet。
我有一个 API,目前(并且非常成功)使用 SS auth 插件来允许我通过 twitter、fb 等对用户进行身份验证。这个 API 目前允许 PHP 前端获得访问权限。
我希望 MVC 站点能够以与 PHP 站点相同的方式进行身份验证,但我希望它以更 MVC/SS 的方式发生 - 而不是仅检查 ss-id 并且如果它不存在则重定向到登录页。我不是 PHP 开发人员,但我的理解是,当用户在 PHP 站点上请求页面时 - 它会检查 cookie 中是否存在 ss-id - 如果有,则用户已经通过身份验证,如果没有然后用户未通过身份验证,并被推送到 PHP 站点上的 /login,该站点具有通过 twitter、fb 等按钮进行身份验证。
我怎样才能做到这一点?我可以将 SS Authenticate 属性添加到控制器,但这是否足够?
所以工作流程是;
他们没有登录,所以他们被重定向到http://somesite.com/login
他们单击该页面上的 twitter 登录按钮并被重定向到
http://api.somesite.com/auth/twitter将它们转发到 twitter 以进行身份验证
一旦通过身份验证,它们将通过有效会话发送回http://somesite.com
现在 - 我的问题是,我可以像这样对它们进行身份验证吗?
如果是这样,最好的方法是什么?我只想将[Authenticate]
属性添加到控制器并完成它。如果我将其设置RavenUserAuthRepository
为查看与 Db 的 API 相同的位置并添加[Authenticate]
属性似乎还不够?
[另一个编辑]
所以 - 我现在已经将插件添加到 MVC 站点,以便我可以访问 somesite.com/auth/twitter 并且它使用与RavenUserAuthRepository
api 使用相同的 - 所以它共享一个数据库。
我创建了一个单独的 twitter 应用程序,以便它可以正确重定向。
一切似乎都在登录方面工作。除了当我尝试使用它去控制器[Authenticate]
时 -TryAuthenticate
里面RavenUserAuthRepository
永远不会被调用......
对于工作流程的其余部分 - 当它从 twitter 回来并通过身份验证时,它正在调用RavenUserAuthRepository
诸如GetUserAuth