아웃바운드 OAuth 토큰 현황 조회 API 추가
- GET /manage/oauth-token/status[/{어댑터그룹명}] 조회 전용
- SessionManager.peekOutboundAccessToken 추가 : 캐시만 조회해 상태 조회가 토큰 발급을 유발하지 않도록 함
- AccessTokenManagerByDB 에 조회 전용 getter 추가
- accessToken 은 앞 8자만 노출하고 clientSecret 은 응답에 미포함
- Ehcache 백엔드는 아웃바운드 토큰 캐시 미지원이므로 사유를 담아 응답
- 단위테스트 10건 추가
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
package com.eactive.eai.manage.oauthtoken;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 어댑터그룹별 아웃바운드 OAuth 토큰 현황.
|
||||
*
|
||||
* accessToken 값은 마스킹해서 담는다. clientSecret 은 담지 않는다.
|
||||
*/
|
||||
@Data
|
||||
public class OAuthTokenStatusDTO {
|
||||
|
||||
// ---- 등록 정보 ----
|
||||
|
||||
/** 어댑터그룹명 */
|
||||
String adapterGroupName;
|
||||
|
||||
/** OAuth 인증 정보 사용 여부 (Y/N) */
|
||||
String useYn;
|
||||
|
||||
/** 토큰 발급에 사용하는 구현체 클래스명 (어댑터 속성 ADAPTER_TOKEN_ISSUING_CLIENT_TYPE) */
|
||||
String tokenServiceClass;
|
||||
|
||||
/** 토큰 발급 URL */
|
||||
String tokenUrl;
|
||||
|
||||
/** 토큰 재발급 주기(초) */
|
||||
int intervalSec;
|
||||
|
||||
// ---- 캐시 상태 ----
|
||||
|
||||
/** 캐시에 토큰이 있는지 */
|
||||
boolean cached;
|
||||
|
||||
/** 캐시된 토큰이 만료됐는지 */
|
||||
boolean expired;
|
||||
|
||||
/** 만료 시각 */
|
||||
String expiration;
|
||||
|
||||
/** 만료까지 남은 초. 이미 만료됐으면 음수. */
|
||||
Long remainSec;
|
||||
|
||||
// ---- 토큰 정보 ----
|
||||
|
||||
/** 앞 8자만 남기고 마스킹한 accessToken */
|
||||
String accessTokenMasked;
|
||||
|
||||
/** accessToken 전체 길이 */
|
||||
Integer accessTokenLength;
|
||||
|
||||
String tokenType;
|
||||
|
||||
String scope;
|
||||
|
||||
String clientId;
|
||||
|
||||
/** 조회 불가 사유 등 부가 메시지 */
|
||||
String message;
|
||||
}
|
||||
Reference in New Issue
Block a user