Http 요청으로 구한 access token을 헤더에 넣어 다른 화면에서 호출할 수 있을까요?

질문:

http 요청으로 구한 access token을 헤더에 넣어 다른 화면에서 호출할 수 있을까요?

답변:

아래와 같이 2가지 상황에 따른 가이드 안내드립니다.

수동 클릭을 통해 진행하시는 경우

  • responseFn 이용
  blocks:
  - type: http
    id: getAccessToken
    axios:
      url: https://httpbin.selectfromuser.com/anything
      method: POST
    responseFn: |
      sessionStorage.accessToken = row.origin
    submitButton: 
      label: 발급
    showResult: false
    
  - type: http
    axios:
      url: https://httpbin.selectfromuser.com/anything
      method: POST
      headers:
        Authorization: "Bearer {{token}}"
    params:
      - key: token
    requestFn: |
      const token = params.find(e => e.key == 'token')
      token.value = sessionStorage.accessToken

자동 클릭을 원하시는 경우

  • onloadFn 이용
pages:
- path: pages/o1HWHL
  onloadFn: |
    await page.getAccessToken.trigger()
  blocks:
  - type: http
    id: getAccessToken
    axios:
      url: https://httpbin.selectfromuser.com/anything
      method: POST
    responseFn: |
      sessionStorage.accessToken = row.origin
    hidden: true
    confirm: false

  - type: http
    axios:
      url: https://httpbin.selectfromuser.com/anything
      method: POST
      headers:
        Authorization: "Bearer {{token}}"
    params:
      - key: token
    requestFn: |
      const token = params.find(e => e.key == 'token')
      token.value = sessionStorage.accessToken