我正在 MVC 4 中编写一个简单的 Web 应用程序,我想使用 Trello 进行 OAuth,以便我可以要求用户使用他们的 trello 详细信息登录,然后查看他们的一些卡片。
任何人都可以提供有关创建自定义 oauth 提供程序以支持非开箱即用 oauth 提供程序的信息吗?从我所见,我认为我需要创建一个自定义 Oauth 提供程序(子类IAuthenticationClient
并使用它) - 对吗?
我正在 MVC 4 中编写一个简单的 Web 应用程序,我想使用 Trello 进行 OAuth,以便我可以要求用户使用他们的 trello 详细信息登录,然后查看他们的一些卡片。
任何人都可以提供有关创建自定义 oauth 提供程序以支持非开箱即用 oauth 提供程序的信息吗?从我所见,我认为我需要创建一个自定义 Oauth 提供程序(子类IAuthenticationClient
并使用它) - 对吗?
好的,自从我发表评论以来,我花了 11 个小时为 SO 编写自定义 oAuth 类。明天我要做一名销售人员。我不兴奋。
这是我所做的:
为您预期的 Json/Xml 创建一个 DataContract 类。我继续实现了 SO 返回的所有内容,但如果您只是进行授权,您可能可以将其缩减为 ID 和 DisplayName。
创建一个从 DotNetOpenAuth.AspNet.Clients 扩展 OAuth2Client 的类。使用DotNetOpenAuth GitHub 页面获取示例。这是最长、最痛苦的一步,尤其是当您的 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 链接。