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

Mat*_*rts 7 oauth asp.net-mvc-4 trello

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

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

Bil*_*ldr 11

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

这是我做的:

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

  2. 创建一个从DotNetOpenAuth.AspNet.Clients扩展OAuth2Client的类.使用DotNetOpenAuth GitHub页面作为示例.这是最长,最痛苦的一步,特别是如果你的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参数的用途,但在我的情况下我并不需要它.希望你不需要它.

编辑:更新了github链接.

  • 旧线程,但请注意DotNetOpenAuth页面已移至:https://github.com/DotNetOpenAuth/DotNetOpenAuth (2认同)