Я пытаюсь реализовать внешнюю аутентификацию с помощью facebook в проекте app2 web-сайта asp.net.Microsoft.Owin.Security.Facebook: Не удалось связаться с facebook tokenEndpoint
Версия пакета Microsoft.Owin.Security.Facebook
, который я использую, является 3.0.1.
Эти шаги работает просто отлично:
- Перенаправление форме Войти facebook для внешнего входа
- facebook обратного вызова на серверной апи, с кодом авторизации (facebook входа в систему успешной)
После этого промежуточное программное обеспечение должно вызвать tokenEndpoint facebook, https://graph.facebook.com/oauth/access_token, чтобы получить токен доступа.
Но я получаю SocketException: Попытка подключения не удалась, поскольку подключенная сторона не ответила после определенного периода времени, или установленное соединение не удалось
Так я пытался имитировать вызов на facebook tokenEndpoint (с HttpClient.GetAsync
) в консольном приложении. я получил прокси ошибку, которую я решить, указав прокси в WebRequestHandler
:
var proxy = WebRequest.DefaultWebProxy;
proxy.Credentials = CredentialCache.DefaultCredentials;
HttpClient httpclient = new HttpClient(new WebRequestHandler { Proxy = proxy });
//GetAsync OK with the use of the current system proxy
var result = RunSync(() => httpclient.GetAsync("https://graph.facebook.com/oauth/access_token"));
Наконец я сообщил настройки прокси-сервера в FacebookAuthenticationOptions
в моем приложении, но ошибка все еще там.
Я не знаю, почему вызов работает в консольном приложении, но не в веб-приложении. Я попытался сравнить состояния HttpClient между двумя приложениями, но я нашел немного.
действительно ли кто-нибудь знает, в чем причина проблемы?
Вам нужен прокси-сервер или так там? – BugFinder
@BugFinder Я не уверен, что я недооценил, но да, мне нужно пройти через прокси для доступа к Интернету в моей среде разработки. Как я уже сказал, без прокси звоните из консольного приложения KO – Bombinosh
Вам нужно будет либо забрать настройки прокси, либо разрешить пользователям вводить их. – BugFinder