在MVC 4中使用自定义oauth提供程序的OAuth

时间:2012-12-19 13:23:07

标签: oauth asp.net-mvc-4 trello

我正在MVC 4中编写一个简单的Web应用程序,我希望OAuth with Trello以便我可以让用户使用他们的trello详细信息登录,然后查看他们的一些卡片。

任何人都可以提供有关创建自定义oauth提供程序的信息,以支持非开箱即用的oauth提供程序吗?从我所看到的,我我需要创建一个自定义的Oauth提供者(子类IAuthenticationClient并使用它) - 是吗?

1 个答案:

答案 0 :(得分:11)

好吧,自从我的评论为SO撰写自定义oAuth类以来,我花了11个小时。明天我会做一个销售人员。我并不兴奋。

这就是我的所作所为:

  1. 为预期的Json / Xml创建一个DataContract类。我继续实施SO返回的所有内容,但如果您只是进行授权,则可以将其缩减为ID和DisplayName。

  2. 创建一个从DotNetOpenAuth.AspNet.Clients扩展OAuth2Client的类。使用DotNetOpenAuth GitHub page作为示例。这是最长,最痛苦的一步,特别是如果你的json序列化生锈了。

  3. 打开/App_Start/AuthConfig.cs并在OAuthWebSecurity.RegisterClient(new YourClass(Your, Initalization, Params), "The Name You Want to Show Up On Your oAuth Login Button", ExtraDataIfYouNeedIt;部分的某处输入RegisterAuth()。我还没有确定ExtraData参数的用途,但在我的情况下我并不需要它。希望你不需要它。

  4. 编辑:更新了github链接。