Является ли код авторизации обязательным для предоставления доступа к ресурсам? - PullRequest
0 голосов
/ 01 октября 2019

Я работаю над веб-приложением Spring Boot, которому требуется доступ к ресурсу из стороннего веб-приложения. Я пытаюсь понять работу Oauth2. Стороннее веб-приложение использует Oauth2 для предоставления доступа к ресурсам клиента. В документе от стороннего веб-приложения написано, что нужно отправить POST с параметром запроса в указанном ниже формате.

username = <###> & password = <###> & client_id = <###> & client_secret= <###> & grant_type = password & hcode = <###>

Значение hcode фиксировано в соответствии с документом. Я могу написать Java-код, который успешно извлекает мне токен доступа (благодаря поиску в Google!). Ниже приведены мои вопросы ...

  1. Какой тип гранта используется здесь?
  2. Предоставляется ли этот код авторизации? Я не вижу здесь кода авторизации.

PS: я новичок в разработке веб-приложений. Я имею в виду следующий пост, чтобы понять Oauth2. [https://www.javainuse.com/spring/spring-boot-oauth-introduction]

String content = "-----";
BufferedReader reader = null;
HttpsURLConnection connection = null;
String returnValue = "";

URL url = new URL(CredentialDto.getTockenurl());
connection = (HttpsURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("Authorization", "Basic " + 
CredentialDto.getAuthentication());
connection.setRequestProperty("Content-Type", "application/x-www-form- 
urlencoded");
connection.setRequestProperty("Accept", "application/json");
PrintStream os = new PrintStream(connection.getOutputStream());

os.print(content);

os.close();
reader = new BufferedReader(new 
InputStreamReader(connection.getInputStream()));
String line = null;

StringWriter out = new StringWriter(connection.getContentLength() > 0 ? 
connection.getContentLength() : 2048);

while((line = reader.readLine()) != null) {
        out.append(line);
        }

accessToken = out.toString();       
Matcher matcher = PAT.matcher(retuenValue); if(matcher.matches() && 
matcher.groupCount() > 0) { 
              accessToken = matcher.group(1); 
            }

1 Ответ

0 голосов
/ 02 октября 2019

1 Какой тип гранта используется здесь?

Учетные данные пароля владельца ресурса (ROPC). Проверьте это RFC

2 Предоставляется ли этот код авторизации? Я не вижу здесь код авторизации.

NO.

...