Facebook SDK и OAuth 2.0 - работа с токеном в JavaScript и перенаправление - PullRequest
0 голосов
/ 21 декабря 2011

Когда я возвращаюсь из вызова JS SDK Facebook (), я получаю файл cookie, установленный на моей стороне в виде: ex.(Я немного изменил символы)

fbsr_17066472650000: edmYrII1FpD8TfeBCDcgO5ri0aRDFfh5e4efESdXlaU.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImNvZGUiOiJBUUNuVW1aS3A4U3p0a0RmNzhLR1FwTE5wSHpasdfafdasdfaVnVfOWo3c01oUFRaYVhjR3FTUFRFRHJrX2Ezasdfadadfasfasfda5ZektURV9xQWxaREV1WlVVZ2hFcDJTVVc4ZVB6d2tmRTVhRHY0RXpRdVhFa0xMd3hKS3gxckMyV1Y4aks1cmtNSHFWZVBaMWpQQklrQkVORDh4ZWtQd0pxUDlLYmMiLCJpc3N1ZWRfYXQiOjEzMjQ0ODUwNjksInVzZXJfaWQiOiI1MTUxNzcxNDcifQ

Правильно ли говорить, что эта строка разбивается на:

fbsr_{appId}:{token}

Это настоящий токен?или мне нужно что-то зашифровать / расшифровать?

Наконец, как я могу перенаправить на другую страницу после входа в систему, используя что-то вроде:

window.location.href='foo.php';

ОБНОВЛЕНИЕ 1:
Я получаю это обратно в процессе расшифровки на стороне сервера.Это не кажется правильным.Или это то, что я должен ожидать?(примечание: я немного изменил некоторые данные)

{"algorithm":"HMAC-SHA256",
  "code":"AQDnemhHwRHAv1pSI2TjKkO4x36GasdfadfasfdQKJn6Sqh8qgJNnCtzA5C41Y5TvRIp94BWQNTprLVyc4PHmYCPG0jOxkUpJ3RnviYW3p-f9lbWn32qkv7NZv-8T42j6_X3l4IMjH-Nthh7LAIaiy8YradJmRzXQwaKpDP5TP6JssrMFbHYYnRrMA",
"issued_at":1324491454,
"user_id":"515100000"}

1 Ответ

1 голос
/ 21 декабря 2011

То, что вы называете токеном, на самом деле является signed_request, который является закодированной информацией сеанса для пользователя.

И перенаправление, которое вы хотите после того, как пользователь вошел в систему, может быть инициировано путем предоставления redirect_uri аргумента Facebook Диалог входа в систему url.

Для получения дополнительной информации читайте Документация по аутентификации Facebook

Хотя вам нужно выполнить расшифровку на signed_request на стороне сервера (для этого можно использовать PHP-SDK ) на стороне клиента, в действительности это не нужно, если вы используете Facebook JavaScript SDK , который предоставляет FB.getAuthResponse и FB.getLoginStatus для получения сведений о сеансе пользователя.

...