Я использую службы входа google для аутентификации пользователей, которые используют мое приложение. Я получил его для работы, когда я только что запросил информацию по электронной почте.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail().build();
Затем я понял, что мне также нужно запросить маркер ID, чтобы иметь возможность аутентифицироваться с моим бэкэндом, поэтому я сделал:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(String.valueOf(R.string.server_client_id))
.requestEmail().build();
Проблема заключается в том, что он не позволил мне войти в систему после изменений. Статус, который я получаю каждый раз при попытке входа в систему, - Status{statusCode=unknown status code: 12501, resolution=null}
.
Я искал вокруг, и я нашел этот пост, что в значительной степени касается того же самого. Тем не менее, я не делал ошибок, названных людьми, которые отвечали, идентификатор клиента OAuth в моей консоли разработчика предназначен для веб-приложения:
И R.string.server_client_id
- это первый идентификатор клиента на картинке. имена пакетов, конечно, правильны во всех размещенных, иначе он даже не будет работать без запроса маркера. 2 человека также предложили, чтобы приложение было подписано для этого, но документация в googles говорит, что отладочный ключ тоже должен работать, и не имеет смысла заставить людей подписывать приложения для отладки.
Я пытался понять это часами, но безуспешно. В чем может быть проблема? Пожалуйста, не стесняйтесь запрашивать дополнительную информацию, которую я, возможно, забыл поставить здесь.