2013-02-22 2 views
8

MVC OAUTH VS2012 template VB.NetMVC OAUTH VS2012 шаблон, где ввести redirect_uri?

Я добавляю OAuth, чтобы мои пользователи могли войти в систему через Facebook и т. Д. Я ввел идентификатор clientSecret и ClientID в функции RegisterAuth. Когда я запускаю код, я получаю: -

Предоставленное значение для входного параметра 'redirect_uri' недопустимо. Ожидаемое значение: «https://login.live.com/oauth20_desktop.srf» или URL-адрес, который соответствует URI редиректа, зарегистрированным для этого клиентского приложения. »

Я искал всюду, чтобы найти, где я ввожу URL. Я думаю, что это по умолчанию«/Account/ExternalLoginCallback », но что бы ни к внешнему Утвердил.

Я думаю, что это будет очевидно, но я просто не вижу!

благодаря Джон

ответ

3

redirect_uri добавляется к провайдеру идентификации когда вы регистрируете свою учетную запись с ними. Это происходит так, когда вы перенаправляетесь на свой сайт для входа в систему, он знает, куда перенаправить обратно после аутентификации.

URI, как правило, всегда требуется при регистрации, чтобы люди не меняли его и использовали на фишинговом веб-сайте, чтобы копировать свою учетную запись. Вы указали правильный путь для ASP.net MVC (он отличается для веб-форм), но должен быть абсолютным, чтобы провайдер мог перенаправить. Что-то вроде этого:

http://www.mysite.com/Account/ExternalLoginCallback 

Обратите внимание, что некоторые провайдеры (безусловно, Google) не разрешит этот адрес будет локальным, которые вы можете использовать при тестировании сайта локально. Если вам нужно это сделать, вы можете создать локальную запись узла, которая указывает на www.something.com на localhost, а затем зарегистрировать URL-адрес у вашего провайдера с помощью www.something.com.

0

Ответ Лукоса работал на меня, но это не сработало сразу, мне просто пришлось подождать пару минут, чтобы MS фактически обновила URI перенаправления.

Я после этого учебника и Microsoft OAuth теперь работает: ответ http://blogs.msdn.com/b/webdev/archive/2012/09/19/configuring-your-asp-net-application-for-microsoft-oauth-account.aspx

10

Lukos' хорошо, но в ASP.NET MVC 5 Я считаю, что URL по умолчанию перенаправлять изменилось.

С MVC 5 (с помощью скрипача) Я вижу, что мы должны использовать: (конечно заменитель MySite имени вашего сайта)

Root domain: 
www.mysite.com 

Redirect URLs: 
http://www.mysite.com/signin-microsoft 

Примечания искомого «/ зарегистрировался-Microsoft» на конец URL-адреса переадресации.

Если это не работает, вы используете скрипач и смотрите POST, исходящий из/Account/Login, и в заголовках ответов найдите значение redirect_uri.

+0

Я нашел это также. Взглянув дальше, структура MVC будет принимать перенаправление с живого на https://www.mysite.com/signin-microsoft, которое затем перенаправляется на ExternalLoginCallback. Таким образом, URL-адрес перенаправления на сайте dev.live.com должен быть URL-адресом signin-microsoft. –

1

Если вы еще не поняли, для OAuth 2 вам нужно будет добавить эти защищенные ссылки (заканчивающиеся на '/ signin-microsoft') в разделе «Добавить платформу» на странице приложения Microsoft, которая будет использоваться в качестве перенаправления URLs.

+0

Добро пожаловать в Stackoverflow. Не могли бы вы расширить свой ответ еще немного, чтобы объяснить коллегам-программистам, как это помогает решить проблему. – Daenarys

Смежные вопросы