7

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

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

4

1 回答 1

11

好的,自从我发表评论以来,我花了 11 个小时为 SO 编写自定义 oAuth 类。明天我要做一名销售人员。我不兴奋。

这是我所做的:

  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 链接。

于 2013-01-10T01:54:07.837 回答