我正在MVC 4中编写一个简单的Web应用程序,我希望OAuth with Trello以便我可以让用户使用他们的trello详细信息登录,然后查看他们的一些卡片。
任何人都可以提供有关创建自定义oauth提供程序的信息,以支持非开箱即用的oauth提供程序吗?从我所看到的,我想我需要创建一个自定义的Oauth提供者(子类IAuthenticationClient
并使用它) - 是吗?
答案 0 :(得分:11)
好吧,自从我的评论为SO撰写自定义oAuth类以来,我花了11个小时。明天我会做一个销售人员。我并不兴奋。
这就是我的所作所为:
为预期的Json / Xml创建一个DataContract类。我继续实施SO返回的所有内容,但如果您只是进行授权,则可以将其缩减为ID和DisplayName。
创建一个从DotNetOpenAuth.AspNet.Clients扩展OAuth2Client的类。使用DotNetOpenAuth GitHub page作为示例。这是最长,最痛苦的一步,特别是如果你的json序列化生锈了。
打开/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链接。