2015-02-11 2 views
1

Я создаю настольное приложение Java, которое взаимодействует с базой данных Cloud SQL MySQL. В настоящее время доступ предоставляется по IP-адресу и ограничивает доступ к определенным компьютерам в базу данных. Я хотел бы пройти аутентификацию доступа к базе данных с помощью Google OAuth 2.0. Как настроить Google OAuth для моего приложения? Я читал документы Google (OAuth 2.0 и Google Client API), но я до сих пор не знаю, как это сделать.Аутентификация настольного клиентского приложения с Google OAuth 2.0

Любая помощь очень ценится!

EDIT У меня есть клиент, который является приложением, запущенным на компьютере. Это Java-приложение имеет метод openConnection, который запрашивает соединение mysql через драйвер jdbc. Я думаю, что метод openConnection должен выглядеть следующим образом.

public void openConnection() { 
    Connection con = //HTTP request to Google App Engine 
        //In http request: request(accessToken, ipAddress,); 
} 

Сервер должен иметь метод doGet, который должен выглядеть примерно так, как показано ниже.

public void doGet(HttpServletRequest req, HttpServletResponse res) { 
     //Authenticate 
     boolean passed = //some way to authenticate the client 
     if (passed) { 
      //This request would pass, because the app engine has read write access 
      Connection con = DriverManager.getConnection("jdbc:mysql://"+ipAddress+":"+portNumber+"/"+databaseName,user,pass); 
      return connection; 
     } 
     else{ 
      //Not authenticated 
     } 

} 

Кто-нибудь знает, как это сделать?

ответ

1
  1. Вам необходимо создать проект по адресу Google Console.
  2. Вы должны создать OAuth идентификатор клиента для созданного проекта enter image description here
  3. Реализовать OAuth в приложении, как описано в главе командной строки кода авторизации потока на Wiki Page
  4. Replace OAuth2ClientCredentials-Константы из примера с вашим сгенерированным идентификатором клиента и секретным ключом клиента с шага 2

Полный пример приложения java, который реализовал OAuth с Google OAuth lib, можно найти here. Просто проверьте источник и адаптируйте его к своему приложению и измените секретный код клиента и клиента.

+0

Спасибо за ваш ответ! Однако я понимаю общую идею процесса OAuth, но я не думаю, что это соответствует именно тому, что мне нужно. –

+0

Ссылка, например, Java-приложение сломано на данный момент. –

Смежные вопросы