OWIN AuthorizeEndpoint с URI перенаправления отличается от uri веб-api
Я успешно использую аутентификацию токена носителя для asp.net веб-API, как показано в шаблоне одностраничного приложения по умолчанию. Но теперь я хочу использовать тот же веб-API с другого сайта (другой url).
Когда я делаю запрос к web API AuthorizeEndpoint(по умолчанию / api / Account/ExternalLogin) с другого сайта, я получаю ошибку: invalid_request. Я предполагаю, что проблема заключается в значении redirect_uri, так как изменение этого значения на значение запущенного сайта на одном домене веб-API решает проблему.
ValidateClientRedirectUri метод в приложенииOAuthAuthorizationServerProvider не увольняется. Итак, основываясь на моем поиске в источнике Katana, источник ошибки находится в OAuthAuthorizationServerHandler.InvokeAuthorizeEndpointAsync .
Есть ли у кого-нибудь еще такие же проблемы или я делаю что-то не так?
2 ответов:
Промежуточное ПО Katana OAuth не предназначено для кросс-приложений - оно предназначено главным образом для" встраивания " сервера авторизации OAuth в бизнес-ресурс.
Если вам нужен правильный (бесплатный) сервер авторизации-посмотрите здесь: https://github.com/thinktecture/Thinktecture.AuthorizationServer/wiki
Токен носителя представляется хэшем в хэше утверждений, который является локальным для вашего приложения.
Мы используем токен jwt с отдельным обработчиком проверки. Работает кросс-приложение.
Все еще ищет лучший способ, но пока он работает.
Comments