Asp.net

OWIN AuthorizeEndpoint 的 redirect_uri 與 web api 的 uri 不同

  • March 19, 2016

我成功地為 asp.net Web API 使用不記名令牌身份驗證,如預設單頁應用程序模板中所示。但現在我想使用來自不同站點(不同 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

不記名令牌似乎是聲明雜湊的雜湊,這是您的應用程序本地的。

我們正在使用帶有單獨驗證處理程序的 jwt 令牌。跨應用程序工作。

仍在尋找更好的方法,但現在它有效。

引用自:https://stackoverflow.com/questions/21666598