Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

rest api 에서 토큰 확인하는 방법


romtech

질문

rest api 프로젝트가 있어서 델파이를 새로구입했는데 처음하는거라 무엇이 문제인지 몰라 문의 들입니다.

cmd창에서 아래의 문구를 입력하면 토큰 응답이 옵니다.
curl -k -d "grant_type=client_credentials" -H "Authorization: Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh" https://190.10.8.184:8243/token

그리고 웹브라우저의 확장프로그램인 postman 에서도 토큰 응답이 옵니다.(rest api 테스트용 프로그램)
postman 에서
POST 선택하고
url 입력란에   https://190.10.8.184:8243/token
Header 입력란에    Authorization            Value입력란에   Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh
x-www-form-urlencoded 텝을 선택하고
Key입력란에 grant_type               Value입력란에    client_credentials 
SEND 누르면 응답이 옵니다.


REST Debugger 10.5 에서
POST 선택하고
url 입력란에   https://190.10.8.184:8243/token
Content-Type에서 application/x-www-form-urlencoded 선택하고
Custom body 입력란에   {"grant_type":"client_credentials"}
Parameters 텝을 선택하고
Request Parameters 입력란에  kind에 HEADER 선택 Name에 Authorization 선택 하고 Value에 Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh
SEND 누르면 에러 납니다.  - 응답 400


버튼을 만들어 실행해도 에러가 납니다.

procedure TForm4.Button1Click(Sender: TObject);
var
  JSON: TJSONObject;
  Token: string;
begin
  JSON := TJSONObject.Create;
  JSON.AddPair('grant_type', 'client_credentials');

  RESTClient1.BaseURL := 'https://190.10.8.184:8243/token';

  RESTRequest1.Method := rmPOST;

  RESTRequest1.Params.AddItem('Authorization', 'Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh');

  RESTRequest1.Body.Add(JSON);

  RESTRequest1.Execute;

  Memo1.Lines.Text := RESTResponse1.Content;

  if RESTResponse1.JSONValue.TryGetValue<string>('access_token', Token) then
    edtToken.Text := Token;

end;
 

이 댓글 링크
다른 사이트에 공유하기

2 answers to this question

Recommended Posts

  • 0

인코딩이 적용되지 않게

TRestRequest.Params.AddItem 부분을 다음과 같이 설정하고 한번 테스트해보시겠어요?

  with RESTRequest1.Params.AddItem do
  begin
    ContentType := ctNone;
    Kind := pkHTTPHEADER;
    name := 'Authorization';
    Value := Basic.....; 
    Options := [poDoNotEncode]; // 인코딩 처리 안함
  end;

 

Edited by Miniuser
이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.