На моем сайте я разрешаю пользователям проходить аутентификацию, создавая учетную запись на моем сайте или используя свою учетную запись Facebook. В случае, если они решают войти в систему с помощью учетной записи моего сайта, а не FB, на одной странице моего сайта я разрешаю им искать друзей, используя список друзей из своей учетной записи FB. Поэтому в тот момент, когда они выбирают поиск друзей, которые также имеют учетные записи на моем сайте, я должен подтвердить их подлинность в тот момент, поэтому я звоню, чтобы представить страницу входа в FB. Я использую Facebook SDK, чтобы сделать это. На данный момент проблем нет ...
string[] extendedPermissions = FacebookApp.ExtendedPermissions.Split(',');
FacebookOAuthClient oauth = new FacebookOAuthClient { ClientId = FacebookApp.AppId };
var parameters = new Dictionary<string, object>
{
{ "response_type", responseType },
{ "display", display },
{ "state", state},
{ "redirect_uri", FacebookApp.RedirectUri + redirectUriPage}
};
if (extendedPermissions != null && extendedPermissions.Length > 0)
{
var scope = new StringBuilder();
scope.Append(string.Join(",", extendedPermissions));
parameters["scope"] = scope.ToString();
}
Uri loginUrl = oauth.GetLoginUrl(parameters);
return loginUrl;
В настройках своего приложения на Facebook я указал URL-адрес сайта как: [http://www.]suchandsuch.com/Subdir/. Facebook заявляет, что они будут перенаправлять только на этот URL-адрес. Когда я делаю вызов для аутентификации человека, я передаю параметр redirect_uri, как показано выше, потому что вместо [http://www.]suchandsuch.com/Subdir/ я хочу перенаправить на http://www.suchandsuch.com/Subdir/subpage.aspx. перенаправление работает, но когда я проверяю Response.QueryString, оно пустое Однако, когда я смотрю на адресную строку в браузере, все параметры находятся в строке запроса. Я предполагаю, что FB будет перенаправлять на любую страницу под URL, указанным на странице приложений. Я что-то пропустил или это правда, что FB будет перенаправлять только на указанный URL-адрес?
PS игнорируйте [] вокруг URL, поэтому не позволил бы мне публиковать столько ссылок в моем вопросе. :)