Код ответа от Google приходит в неправильном формате при первом входе в систему с использованием аутентификации Oauth 2.0

Код ответа, полученный после первого входа в Google.

[ http://localhost:8080/?state=trueprompt%3Dconsent&code=4%2FjlCxJC7rg57nOG7w-0MP4M1BuQ7cbI4GLCNofMzPeQQ

Ниже приведен код, который я использую

GoogleConnectionFactory connectionFactory = new GoogleConnectionFactory("CLIENT_ID","CLIENT_SECRET");
        System.out.println(connectionFactory.getScope());
        connectionFactory.generateState();
        OAuth2Operations oauthoperations =connectionFactory.getOAuthOperations();
        OAuth2Parameters params = new OAuth2Parameters();
        params.setRedirectUri("http://localhost:8080");
        params.setScope("https://www.googleapis.com/auth/userinfo.profile");
        params.setState("true");
        String authorizeUrl = oauthoperations.buildAuthenticateUrl(GrantType.AUTHORIZATION_CODE,params);

Получив authorizeUrl, я вставляю это прямо в браузер, затем я перехожу на страницу входа в Google. После входа он перенаправляет обратно на URL обратного вызова со значением параметра кода, которое упоминается в самой первой ссылке.

Но этот код ответа не работает для получения токена доступа. когда я снова копирую и вставляю тот же URL-адрес для входа в систему в brwoser, он отвечает другим кодом ответа, который указан ниже. На этот раз, когда я уже вошел в систему, мне не нужно снова входить в систему, и он отвечает другим кодом ответа, который работает нормально, и я могу получить AccessToken. Разница между первым и вторым кодом ответа заключается в том, что в первом случае он отвечает 4%, а во втором - 4/.

http://localhost:8080/?state=true&code=4/0Y9NMh9fYAr3kfy3r1por3Py1LCdbOsIUz3fwdv78gc

        AccessGrant accessGrant = oauthoperations.exchangeForAccess("AUTHORIZATION_CODE", "http://localhost:8080",null );
        Connection<Google> connection = connectionFactory.createConnection(accessGrant);
        System.out.println(connection.getDisplayName());

Пожалуйста, помогите мне решить эту проблему.

0 ответов

Другие вопросы по тегам