我需要将外部登录支持(Facebook,可能还有其他)集成到Web项目中。这个默认的MVC4模板工作正常,我可以与Facebook互动。
问题在于SimpleMembership
拖动的额外数据包行李。已经有一个自定义成员资格提供程序和架构,我不希望看到那些丑陋的webpages_Membership
等表。外部auth模块应该适应我的环境,而不是相反。
我整天都在搜索,想方设法自定义开箱即用的东西,但似乎不太可能。
我是否需要将自己的OAuthWebSecurity
风格用于随处获取?
该项目目前处于VS2012领域,但很快将转向VS2013。有没有什么可以让我的情况从迁移中受益?我试图寻找一些有关这方面的见解,但在我读到的任何地方“哦,看看这个魔术盒的一切都很容易,我们不会再透露了。”
答案 0 :(得分:2)
坦率地说,我不知道默认的MVC4项目在Oauth2身份验证方面提供了什么,但流程非常基本。让我先解释一下,假设您通过电子邮件匹配用户(这非常有用):
流程非常清晰,可以使用手动重定向和HttpClient手动实现它来调用配置文件web api。但是,你真的不需要。
有两种可能的方法。
首先,你以某种方式设法驯服提供的mvc-oauth流程,以便你在上面的流程的第4步中挂钩。不是让流程从内置数据库表中自动选择用户,而是手动完成。
其次,您切换到DotnetOpenAuth库,它提供了一个清晰的API,并且不依赖于任何内置的基础结构元素。他们有清晰,随时可用的示例,您下载他们的示例,并立即有一个工作的应用程序,进行Facebook身份验证和阅读facebooks apis。
我推荐第二种方法,当你有特定的DotnetOpenAuth问题时,你可以回来。该库通常被使用,有关facebook集成等基本案例的问题应该由某人(包括我自己,如果我发现你的问题)回答。