Я хотел бы интегрировать аутентификацию facebook в свое приложение. Это распределенная система, использующая GAE в качестве серверной части и приложение Android на стороне клиента. Для связи я использую конечные точки Google Cloud.
Чтение этой статьи Я немного запутался, потому что, похоже, они описывают только аутентификацию, предоставляемую Google, а не аутентификацию других поставщиков, как можно предположить из названия.
Какая информация о том, «как работает механизм аутентификации с facebook поскольку провайдер OAuth2 должен работать "У меня после нескольких часов поисков в Google:
- У меня есть токен доступа, созданный серверами авторизации Facebook.
- Я знаю, что должен передать этот токен доступа бэкэнду в заголовке авторизации HTTP.
- Поскольку я использую специальный механизм аутентификации (не предоставленный Google), я должен написать собственный аутентификатор, который реализует этот интерфейс. Этот шаг описан в этом ответе.
- В пользовательском аутентификаторе я должен проверить токен доступа и разрешить user_id из токена доступа.
- Authenticate (запрос HttpServletRequest) должен возвращать User, представляющий владельца токена доступа.
- Пользователь, возвращенный на шаге 5, - это тот, кого вводят в методы конечной точки.
Я все еще не на 100% уверен, что эти шаги верны, поэтому, пожалуйста, поправьте меня, если я ошибаюсь.
Какая информация отсутствует
- Я предполагаю, что Пользователь вернулся с помощью аутентифицировать (запрос HttpServletRequest) метод представляет любого аутентифицированного пользователя (а не только пользователя, аутентифицированного механизмом аутентификации Google). Поскольку из документации аутентифицировать (запрос HttpServletRequest), является ли Пользователь, возвращаемый методом, тип com.google.appending.api.users.User?