Базовая реализация Java для потока кода авторизации с использованием Azure AD ⇐ JAVA
-
Anonymous
Базовая реализация Java для потока кода авторизации с использованием Azure AD
Тип предоставления учетных данных клиента:
Строка URL = https://login.microsoftonline.com/{tena ... v2.0/token; Параметры Map = new HashMap(); параметры.put("grant_type", "client_credentials"); параметры.put("client_id", "CLIENT_ID"); параметры.put("client_secret","CLIENT_SECRET"); параметры.пут("область", CLIENT_ID/.default); Строковая форма = параметры.keySet().stream() .map(key -> key + "=" + URLEncoder.encode(parameters.get(key), StandardCharsets.UTF_8)) .collect(Collectors.joining("&")); Клиент HttpClient = HttpClient.newHttpClient(); Запрос HttpRequest = HttpRequest.newBuilder().uri(URI.create(url)) .headers("Content-Type", "application/x-www-form-urlencoded").POST(BodyPublishers.ofString(form)) .строить(); HttpResponse ответ = ноль; пытаться { ответ = client.send(запрос, BodyHandlers.ofString()); } catch (IOException | InterruptedException e) { // TODO Автоматически сгенерированный блок catch е.printStackTrace(); } Ответ будет иметь токен доступа.
Тип предоставления кода авторизации
Без какого-либо взаимодействия с браузером хотелось бы передать учетные данные из кода для получения токена доступа.
Насколько я понимаю, сначала нам нужно выполнить вызов GET, чтобы получить код доступа, а затем вызов POST, чтобы получить токен доступа.
URL-адрес аутентификации = https://login.microsoftonline.com/{tena ... /authorize URL-адрес токена доступа = https://login.microsoftonline.com/{tena ... v2.0/token Идентификатор клиента={ClientID} Секрет клиента={Client_Secret} Область = {ClientID}/.default Тип гранта = код авторизации URL обратного вызова: http//redirectURL. Имея вышеуказанные данные, вы можете протестировать генерацию токенов с помощью POSTMAN.
Я хотел бы знать, как добиться того же с помощью кода Java без использования весенней загрузки.
Можно ли получить токен доступа без браузера?
Тип предоставления учетных данных клиента:
Строка URL = https://login.microsoftonline.com/{tena ... v2.0/token; Параметры Map = new HashMap(); параметры.put("grant_type", "client_credentials"); параметры.put("client_id", "CLIENT_ID"); параметры.put("client_secret","CLIENT_SECRET"); параметры.пут("область", CLIENT_ID/.default); Строковая форма = параметры.keySet().stream() .map(key -> key + "=" + URLEncoder.encode(parameters.get(key), StandardCharsets.UTF_8)) .collect(Collectors.joining("&")); Клиент HttpClient = HttpClient.newHttpClient(); Запрос HttpRequest = HttpRequest.newBuilder().uri(URI.create(url)) .headers("Content-Type", "application/x-www-form-urlencoded").POST(BodyPublishers.ofString(form)) .строить(); HttpResponse ответ = ноль; пытаться { ответ = client.send(запрос, BodyHandlers.ofString()); } catch (IOException | InterruptedException e) { // TODO Автоматически сгенерированный блок catch е.printStackTrace(); } Ответ будет иметь токен доступа.
Тип предоставления кода авторизации
Без какого-либо взаимодействия с браузером хотелось бы передать учетные данные из кода для получения токена доступа.
Насколько я понимаю, сначала нам нужно выполнить вызов GET, чтобы получить код доступа, а затем вызов POST, чтобы получить токен доступа.
URL-адрес аутентификации = https://login.microsoftonline.com/{tena ... /authorize URL-адрес токена доступа = https://login.microsoftonline.com/{tena ... v2.0/token Идентификатор клиента={ClientID} Секрет клиента={Client_Secret} Область = {ClientID}/.default Тип гранта = код авторизации URL обратного вызова: http//redirectURL. Имея вышеуказанные данные, вы можете протестировать генерацию токенов с помощью POSTMAN.
Я хотел бы знать, как добиться того же с помощью кода Java без использования весенней загрузки.
Можно ли получить токен доступа без браузера?
Мобильная версия