asp.net - OWIN AuthorizeEndpoint 的 redirect_uri 与 web api 的 uri 不同

标签 asp.net oauth asp.net-web-api owin asp.net-web-api2

我成功地使用了 asp.net web API 的承载 token 身份验证,如默认的单页应用程序模板中所示。但现在我想使用来自不同站点(不同 url)的相同 Web API。

当我从不同站点向 Web API AuthorizeEndpoint(默认为/api/Account/ExternalLogin)发出请求时,出现错误:invalid_request。我猜问题出在 redirect_uri 值上,因为将其更改为在与 web api 相同的域上运行的站点的值可以解决问题。

应用程序 OAuthAuthorizationServerProvider 中的 ValidateClientRedirectUri 方法不会被触发。因此,根据我在 Katana 源中的搜索,错误来源在 OAuthAuthorizationServerHandler.InvokeAuthorizeEndpointAsync 中。

有没有其他人有同样的问题,或者我做错了什么?

最佳答案

Katana OAuth 中间件不是为跨应用设计的——它主要是为了将 OAuth 授权服务器“嵌入”到业务资源中。

如果您想要一个合适的(免费)授权服务器 - 请看这里:
https://github.com/thinktecture/Thinktecture.AuthorizationServer/wiki

关于asp.net - OWIN AuthorizeEndpoint 的 redirect_uri 与 web api 的 uri 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21666598/

相关文章:

.net - 访问路径 'Google.Apis.Auth' 被拒绝

asp.net - 自定义控件变为通用 "UserControl",而不是 Designer 类中的实际类型

c# - RESTful (Web API) 服务中的非 CRUD 操作

asp.net - 加载前跳出框架页面

asp.net - ExecuteScalar 抛出 NullReferenceException

MVC 4 中带有自定义 oauth 提供程序的 OAuth

angularjs - 使用 AngularJs、WebAPI 和 OAuth2 时以明文形式获取用户角色以及 JWT

html - OAuth 在 iframe 中不起作用

authentication - 需要帮助修复此错误 "Connection reset by peer - SSL_connect"

c# - 如何为基本身份验证配置 Web Api 2 和 IIS?