티스토리 뷰

https://jongqui.tistory.com/26

 

azure cdn purge

CDN purge는 CDN의 캐싱을 삭제해주는 기능이다. 앞단에서 CDN을 사용하고 있었지만, 기존에는 png, jpeg 등 파일만 관리했고, azure blob storage에 파일이 올라가면, 파일 경로와 파일명이 무조건 새로 설

jongqui.tistory.com

위 포스팅에선 adal4j로 ouath2 token을 가져와 cdn purge를 하는 법을 설명했다.

 

위 포스팅 본문에 adal4j 지원 중단 사실과,

msal4j를 이용하면 좋을거같다고 해놓고,

그 이후로 포스팅이 없었다. 

이번엔 msal4j로 access token을 가져오는 법을 설명한다. 

pom.xml에 아래를 추가한다.

<dependency>
  <groupId>com.microsoft.azure</groupId>
  <artifactId>msal4j</artifactId>
  <version>1.11.2</version>
</dependency>

 

access token을 얻는 메서드는 아래와 같다.

public String getAccessToken() {
    String authority = loginUrl + "/" + tenentId;
    try {
        IClientCredential credential = ClientCredentialFactory.createFromSecret(value);
        ConfidentialClientApplication cca = ConfidentialClientApplication.builder(appId, credential)
                .authority(authority)
                .build();
        Set<String> scope = new HashSet<>();
        scope.add(resource);
        ClientCredentialParameters parameters =
                ClientCredentialParameters.builder(scope)
                        .build();
        IAuthenticationResult result = cca.acquireToken(parameters).join();
        return result.accessToken();

    } catch (MalformedURLException e) {
        log.error(e.getMessage());
        throw new RuntimeException("failed to get token", e, HttpStatus.INTERNAL_SERVER_ERROR);
    }
}

 

여기서 주의할점은 adal4j와 resource 값이 다르다는 것이다. 

지난 adal4j에서는 https://management.core.windows.net 을 사용했지만,

msal4j에서는 https://management.core.windows.net/.default 을 사용한다. 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함