c# - 关于 OAUTH2 和自定义身份提供者的困惑

标签 c# asp.net-mvc-4 oauth asp.net-web-api dotnetopenauth

我正在开发 ASP.NET Web API,现在我想实现 oauth2 协议(protocol)以授权 api 端点。

身份提供者、授权服务器和资源(API)都将由我们的软件处理。我不需要实现 Google、MS og Facebook 登录。 我选择 oauth 的原因是,我想为我公司可能开发的 future 服务使用相同的身份提供者。 到目前为止,我在 Internet 上找到的每个示例代码和教程似乎都集中在使用外部身份提供商(如 Google),而不是自行开发的解决方案。此外,它们似乎包含用于输入凭据的网页,这不是我想要做的。客户端库应该获取一个 apikey 并使用它来获取访问资源 api 所需的 token 。 这可能吗?还是我完全误解了 oauth 的预期用途?

我希望我的案子已经清楚了,所以如果有人能给我指出代码示例、教程或类似内容的正确方向,请多多指教。

最佳答案

oauth中没有apikey的概念。相反,您有不同的流程,其中 client credential 流程是您应该感兴趣的流程。流程包括仅发送 client_idclient_secret 从客户端应用程序到身份提供者的 token 端点,从而在没有任何用户交互的情况下声明 token 。

http://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified

(Aaron 将此流程记录为“应用程序访问”)

如果您决定使用 DotnetOpenAuth,则可以为身份提供者、资源服务器和客户端应用程序实现流程。首先,下载他们的例子,尽可能多地学习,然后带着具体的问题回来。

关于c# - 关于 OAUTH2 和自定义身份提供者的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21164597/

相关文章:

C# httpClient(异步调用 block )死锁

c# - 如何将子菜单项添加到 MenuStrip?

c# - 我们如何在xml中保存特殊符号

c# - 更改语言中的 GRID.mvc 问题 [ASP.net MVC 4]

asp.net-mvc-4 - 使用 @Url.Content ("~"是否有好处)

c# - 在更新查询中出现语法错误

javascript - Kendo UI Treeview 当前数据源帖子

facebook - 作为移动设备的 OAuth Facebook 页面(useragent 和 cordova)

ruby-on-rails - OAuth 提供者服务和 Rails 3

asp.net-web-api - 为什么不调用 GrantRefreshToken 方法 - Oauth2 ASP.NET Web API