Какая связь между кнопкой входа в систему и OAuth 2.0

В Facebook для веб-сайтов есть очень поверхностное объяснение того, как использовать Javascript SDK. добавить красивую кнопку «Войти через Facebook» на свой сайт. Справочная документация тега fb:login-button ненамного лучше, но, по крайней мере, говорит, что я могу использовать его без XFBML, но не очень подробно описывает детали.

С другой стороны, документация по Authentication очень подробная и объясняет все, что мне нужно знать о том, как использовать систему OAuth на своем веб-сайте на языке, который я очень хорошо понимаю, говоря о HTTP-запросах и тому подобном. Но мне нужна ссылка на моем сайте, которая перенаправляет пользователя на Facebook, а не всплывающее окно, которое я получаю с помощью кнопки fb:login.

Какова связь этой кнопки fb:login с методами, описанными на странице аутентификации? Как я могу использовать кнопку с всплывающим окном? Как я могу установить свой redirect_uri? Как я могу получить доступ к идентификатору пользователя?


person lvella    schedule 11.09.2011    source источник


Ответы (1)


Если вы хотите использовать всплывающее окно, которое дает вам fb:login-button, вам придется использовать методы на стороне клиента. Документы по аутентификации описывают подход на стороне сервера. Я так понимаю, у вас кнопка fb:login работает как положено, но после входа ничего не происходит и всплывающее окно исчезает? Если это так, вам нужно посмотреть на добавление вызова API следующим образом:

FB.Event.subscribe('auth.authResponseChange', function(response) {
alert('The status of the session is: ' + response.status);
});

и вы должны увидеть этот огонь при входе в систему. Конечно, вам придется изменить его, чтобы действительно сделать что-то полезное, но я думаю, что это, вероятно, та часть, которую вам не хватает.

person Floyd Wilburn    schedule 11.09.2011
comment
Делая это, пользователь перенаправляется вместо всплывающего окна (т. Е. Он покидает мою страницу), и я не получаю стандартную кнопку входа в Facebook, которую я вижу повсюду. Именно поэтому я спрашиваю. Если Javascript SDK обеспечивает стандартный внешний вид входа в Facebook на стороне клиента, как он соотносится с протоколами, описанными в другом месте? - person lvella; 11.09.2011
comment
Ах, я неправильно понял ту часть, где вы сказали, что вам нужно перенаправить на Facebook, а не на всплывающее окно ... Я думал, вы имели в виду, что хотите, чтобы это произошло. Теперь, кажется, я понимаю, о чем вы спрашивали. Я отредактирую свой ответ соответственно. - person Floyd Wilburn; 11.09.2011
comment
Да, я заметил, что документ по аутентификации информативен как для аутентификации на стороне сервера, так и на стороне клиента, но ни один из документов на самом деле не говорит вам, что кнопка fb:login-button предназначена только для клиентской стороны. Было бы неплохо, если бы в документе Facebook для веб-сайтов был более полный пример того, как использовать кнопку входа! - person East of Nowhere; 26.01.2012