반응형
□ NONCE Token 이란?
난스(nonce)는 SOAP 메시지에서 사용되는 사용자 이름 토큰의 도난을 방지하기 위해 사용되는 랜덤하게 생성되는 암호화 토큰입니다. Nonce는 기본 인증 (BasicAuth) 메소드와 함께 사용됩니다.
Option Explicit
Sub CSRFToken01()
'// MSXML2 XMLHTTP 객체를 만듭니다.
Dim xmlHttp As Object
Set xmlHttp = CreateObject("MSXML2.XMLHTTP")
'// 요청 메서드를 GET으로 설정합니다.
xmlHttp.Open "GET", "http://plm.*****.com/Windchill/servlet/odata/PTC/GetCSRFToken()", False
'// 요청 헤더를 설정합니다.
xmlHttp.SetRequestHeader "Content-Type", "application/json"
xmlHttp.SetRequestHeader "Accept", "application/json"
'// 요청을 보냅니다.
xmlHttp.Send
'// 응답 상태를 확인합니다.
If xmlHttp.Status = 200 Then
'// 응답 JSON을 가져옵니다.
Dim responseJson As String
responseJson = xmlHttp.ResponseText
'// JSON을 파싱합니다. (JsonConverter가 필요합니다)
Dim jsonData As Object
Set jsonData = JsonConverter.ParseJson(responseJson)
'// CSRF 토큰을 가져옵니다.
Dim csrfToken As String
csrfToken = jsonData("NonceValue")
' //CSRF 토큰을 사용합니다.
MsgBox "CSRF Token: " & csrfToken
Debug.Print jsonData("NonceKey")
Debug.Print jsonData("NonceValue")
Else
' //오류 처리
MsgBox "Error: " & xmlHttp.Status
End If
End Sub
예제 결과) JSON으로 가져온 토큰 값
{
"@odata.context": "https://windchill.ptc.com/Windchill/servlet/odata/v3/PTC/$metadata#CSRFToken",
"NonceKey": "CSRF_NONCE",
"NonceValue": "8q87WtSxvWkSH9FMtsQUboOI5TtCS7gWh8RUb4OG ="
}
이 요청에서 반환된 CSRF_NONCE 값은 엔터티를 생성(POST 요청), 수정(PUT 및 PATCH 요청) 또는 삭제(DELETE 요청)하기 위해 이 사용자 가이드에 제공된 모든 예제에서 요청 헤더로 전달되어야 합니다.
▷ ▷ JSON 파일 사용 방법
https://m.blog.naver.com/davethe/222220993751
'VBA For Windchill' 카테고리의 다른 글
DOM (Document Object Model) 이란? (0) | 2024.06.30 |
---|---|
VBA Web Parsing 1/2 (0) | 2024.06.30 |
json 파일 읽기 (0) | 2024.06.26 |
학습 02) Open API, 엑셀 VBA (0) | 2024.06.22 |
학습 01) Open API, 엑셀 VBA (0) | 2024.06.21 |