Facebook Redirect пропускает параметры QueryString, если указана подстраница - PullRequest
0 голосов
/ 20 сентября 2011

На моем сайте я разрешаю пользователям проходить аутентификацию, создавая учетную запись на моем сайте или используя свою учетную запись 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, поэтому не позволил бы мне публиковать столько ссылок в моем вопросе. :)

1 Ответ

0 голосов
/ 10 октября 2011

Очевидно, FB будет перенаправлять только на этот точный URL с параметрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...