Я использую следующий подход для входа в систему.
WebAuthProvider.init(auth0)
.withScheme("com.myapp.app")
.withAudience("http://goo.gl")
.withParameters(map)
.withConnection("google-oauth2")
.withScope("openid profile email offline_access")
.start(activity, webCallback);
После входа в систему я получаю код, выполнив следующие действия.
if (getIntent().getData() != null) {
String code= getIntent().getData().getQueryParameter("code");
}
До сих пор все хорошо, теперь мне нужно code_verifier
. Я использую следующий подход, чтобы получить code_verifier
.
SecureRandom sr = new SecureRandom();
byte[] code = new byte[32];
sr.nextBytes(code);
String verifier = Base64.encodeToString(code, Base64.URL_SAFE | Base64.NO_WRAP | Base64.NO_PADDING);
return verifier;
Но когда я передаю код с code_verifier
, я получаю следующий ответ от сервера.
code = 400, message = Не удалось проверить верификатор кода