Я нашел этот question, у которого есть ответ, но facebook изменил формат токена с тех пор, теперь это что-то вроде:
AAACEdEose0cBACgUMGMCRi9qVbqO3u7mdATQzg[more funny letters]ig8b3uss9WrhGZBYjr20rnJu263BAZDZD
Короче говоря, вы ничего не можете сделать из этого. Я также нашел отладчик доступа к токенам, который показывает информацию, которую я ищу, если вы вставляете токен, что приятно, но не помогает мне делать это программно.
Точка, если кто-то получает токен для пользователя, он может использовать его для доступа к графику, что я и делаю в своем приложении - я хочу быть уверенным, что люди пересылают токен, который был им предоставлен мое приложение, а не другое.
Мой поток приложений:
- Получить токен доступа из facebook (ничего особенного, так, как описано в здесь, серверный поток. (также iPhone и android и используются, но они имеют похожие потоки, если я правильно помню))
[устройство] ↔ [facebook] - С помощью этого токена доступа устройство получит доступ к моему серверу приложений с токеном
[device] ↔ [Приложение Джонатана]
На моем сервере я прикрепляю токен доступа к пользователю и использую его для предоставления разрешений этому пользователю в моем приложении. (с помощью подключения facebook для аутентификации пользователей)
Мое приложение защищено, и доступ к нему также аутентифицирован независимо от facebook, НО! в этом потоке слабая ссылка, которую я идентифицировал, заключается в том, что я не могу аутентифицироваться, чтобы убедиться, что токен доступа, который я получил, был подписан для моего приложения - мне это не нравится, потому что я кэширую токены для автономного использования, я хочу быть на 100% уверенным они для моего приложения, с моими разрешениями.
Итак, каков будет (лучший) способ аутентификации того, что полученный токен связан с моим приложением (для связи с пользователем я использую токен для доступа/я и вижу, для какого пользователя этот токен)
Мне не нужно расшифровывать токен (я думаю, его какой-то AES), я просто ищу конечную точку, которая сообщит мне, что токен соответствует идентификатору моего приложения.
(EDIT: использование С# SDK, если это имеет значение. Но вызов графика/отдыха, чтобы дать эту информацию так же хорошо:))