我们要基于以下角色建立自己的 OAuth 2.0 授权服务器:
- 资源服务器 - 使用 ASP.NET Web API 构建的 API
- 客户端 - 使用 ASP.NET MVC 构建的 Web 应用程序
- 资源所有者 - 最终用户
我们计划使用密码授予类型(资源所有者密码凭据授予),以便资源所有者将他们的凭据提交给客户端,然后客户端将发出授权请求。我们想使用基本身份验证来验证客户端请求。
我正在努力解决如何使用支持此授权类型的 DNOA 设置授权服务器。我已经下载了授权服务器示例项目,但这似乎是使用基于令牌的授权(用户直接使用授权服务器进行身份验证 - 在示例中,通过 OpenID)。
当我尝试使用提琴手发出授权请求时,我只是被重定向到登录页面,所以我假设这个示例不支持这种授权类型:
POST http://localhost:50172/oauth/authorize HTTP/1.1
User-Agent: Fiddler
Host: localhost:50172
Content-Length: 103
grant_type=password&client_id=sampleconsumer&client_secret=samplesecret&username=user&password=password
如果我使用基本身份验证,情况也是如此。
任何帮助,将不胜感激。过去我曾成功使用 DNOA 来使用 OAuth 服务,但我发现有关设置/配置服务器的文档非常少。