8

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

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

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

其他人有同样的问题还是我做错了什么?

4

2 回答 2

3

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

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

于 2014-02-10T07:27:39.863 回答
-1

不记名令牌似乎是声明哈希的哈希,这是您的应用程序本地的。

我们正在使用带有单独验证处理程序的 jwt 令牌。跨应用程序工作。

仍在寻找更好的方法,但现在它有效。

于 2016-03-19T16:21:29.433 回答