Google входит в веб-приложение, но при аутентификации выдает ошибку исключения SSL

Я разрабатываю вход в Google для своего веб-приложения. Я отправил токен идентификатора на свой сервер, а затем хочу проверить целостность токена, но при аутентификации он выдает ошибку исключения SSL в GoogleIdTokenVerifier. Как я могу ее решить?

public class VerifyController {
         public static final String CLIENT_ID = "";
         private static final String APPLICATION_NAME = "";
         public static GoogleIdTokenVerifier verifier ;
         public static GoogleIdToken token;
         private static NetHttpTransport transport;
         private static JsonFactory mJFactory;

        public Result validate(@PathParam("id") String idtoken) {
            try{
            // TODO Auto-generated method stub
            System.out.println("IN validate");
            System.out.println(idtoken);
            transport = new NetHttpTransport();
            mJFactory = new GsonFactory();
            verifier = new GoogleIdTokenVerifier.Builder(transport, mJFactory)
                    .setAudience(Arrays.asList(CLIENT_ID))
                    .build();
            token = GoogleIdToken.parse(mJFactory, idtoken);
             GoogleIdToken token = GoogleIdToken.parse(mJFactory, idtoken);
                if (verifier.verify(token)) {
                  Payload payload = token.getPayload();
                  System.out.println(payload);
                  if (payload.getHostedDomain().equals(APPLICATION_NAME)
                      // If multiple clients access the backend server:
                       {
                    System.out.println("User ID: " + payload.getSubject());
                  } else {
                    System.out.println("Invalid Domain.");
                  }
                } else {
                  System.out.println("null ID token.");
                }
                return null;
            }catch(Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    }

person Deeshant Rajput    schedule 09.09.2015    source источник


Ответы (1)


Вам нужно установитьIssuer при создании объекта GoogleIdTokenVerifier

verifier = new GoogleIdTokenVerifier.Builder(transport, mJFactory)
                .setAudience(Arrays.asList(CLIENT_ID))
                .build(); //instead of this use below code

verifier = new GoogleIdTokenVerifier.Builder(transport, mJFactory)
                .setAudience(Arrays.asList(CLIENT_ID))
                .setIssuer("accounts.google.com")
                .build();
person Parth Shah    schedule 27.04.2016