我有一个MVC网站(单页JS应用程序类型的东西),如果需要可以安装SS NuGets。
我有一个API,目前(并且非常成功)使用SS auth插件允许我通过twitter,fb等对用户进行身份验证。此API目前允许PHP前端获得访问权。
我希望MVC网站能够以与PHP网站相同的方式进行身份验证,但我希望它以更加MVC / SS的方式进行 - 而不仅仅是检查ss-id以及是否' s不存在重定向到登录页面。我不是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,它使用api使用的相同RavenUserAuthRepository
- 因此它共享一个数据库。 / p>
我创建了一个单独的Twitter应用程序,因此它可以正确重定向。
一切似乎都在登录方面。除了当我尝试使用[Authenticate]
进入控制器时,TryAuthenticate
内的RavenUserAuthRepository
永远不会被调用。
对于工作流程的其余部分 - 当它从经过身份验证的Twitter返回时,它会调用RavenUserAuthRepository
中的方法,例如GetUserAuth