Привет, я застрял в проблеме oauth2. Я не использую весну. У меня есть некоторые веб-службы JAX-RS, созданные с использованием банок jersey от netbeans. Я должен защитить эти службы, используя oauth 2, чтобы мобильный клиент мог использовать его, не сохраняя учетные данные пользователя. Я даже не знаю, с чего начать, поскольку все примеры, которые я вижу, используют Spring ... те, которые не используют Spring, используют библиотеку Oltu, документация которой не убеждает меня. Некоторые образцы oltu даже не работают. Может ли кто-нибудь показать мне учебник, который поможет мне создать сервер авторизации с нуля, используя трикотаж и некоторую библиотеку? любой один даже oltu ...oAuth 2 реализация java
1
A
ответ
0
Мой ответ будет основан на Oltu. Я буду использовать CLIENT_CREDENTIALS authent.
Получение маркеров должны выглядеть следующим образом:
// We initialize a client
OAuthClient lOAuthClient = new OAuthClient(new URLConnectionClient());
OAuthJSONAccessTokenResponse lOAuthResponse;
// We are creating a request that's already formatted following the Oauth specs
OAuthClientRequest lRequest = OAuthClientRequest
.tokenLocation(TOKEN_SERVER_URI)
.setGrantType(GrantType.CLIENT_CREDENTIALS)
.setClientId(CLIENT_ID)
.setClientSecret(CLIENT_SECRET)
.setScope("admin")
.buildBodyMessage();
//This will submit the request
String code = lOAuthClient.accessToken(lRequest, OAuthJSONAccessTokenResponse.class).getAccessToken();
System.out.println("Token obtained:" + token);
Теперь мы можем получить наши Ressource с помощью нашей фишки:
HttpURLConnection resourceConn = (HttpURLConnection) (new URL(RESSOURCE_SERVER_URI).openConnection());
resourceConn.addRequestProperty("Authorization", "Bearer " + token);
InputStream resource = resourceConn.getInputStream();
// Do whatever you want to do with the contents of resource at this point.
BufferedReader r = new BufferedReader(new InputStreamReader(resource, "UTF-8"));
String line = null;
while ((line = r.readLine()) != null)
System.out.println(line);
Вы можете получить образец из примеров весенних – haseeb
я выложу вам объяснение, но сначала мне нужно знать: понимаете ли вы функцию функции OAuth и ее многочисленные части (клиент, пользователь, сервер ressource и т. д.)? – Nathan
@ user3252187 Я отправил вам пример того, как может выглядеть тестовый клиент, на основе примера [oltu] (https://cwiki.apache.org/confluence/display/OLTU/OAuth+2.0+Client+Quickstart) и мой собственный код (который в основном поступает из Интернета). – Nathan