검색 결과 :

×

Confluence에서 REST API 인증을 설정하는 단계별 가이드

Confluence는 페이지 생성, 페이지 삭제, 댓글 추가, 공간 생성 등과 같은 다양한 작업을 수행하기 위해 REST API를 제공합니다. 그러나 REST API에 대해 두 가지 인증 방법만 지원합니다.

  1. 기본 인증
  2. Confluence를 OAuth 1.0 공급자로 사용

Confluence용 REST API 인증 플러그인을 사용하면 타사 OAuth 2.0 공급자/OpenID 연결을 사용하여 REST API를 인증할 수 있습니다.

 

REST API 인증 추가 기능 사용 시 이점:

  1. 안전한: 모든 API 요청에 대해 사용자 자격 증명이 전달되지 않으므로 이는 기본 인증보다 더 안전합니다. 추가 기능에는 타사 OAuth 2.0 공급자/OpenID Connect에서 생성한 액세스 토큰만 필요합니다.
  2. 유연성:  이를 통해 Confluence뿐만 아니라 인증을 위해 타사 OAuth 2.0 공급자/OpenID Connect를 사용할 수 있습니다.
  3. 전반적인 보호: 플러그인은 유효한 액세스 토큰이 없는 누구도 REST API를 사용할 수 없도록 기본 인증 요청을 차단할 수도 있습니다.
  4. SSO 호환: Confluence에 Single Sign-On을 사용하는 경우 REST API에 대한 인증도 제공하도록 ID 공급자를 구성할 수 있습니다.

 

REST API 인증 흐름에는 다음과 같은 두 가지 간단한 단계가 포함됩니다.

  1. OAuth 2.0/OIDC 공급자에게 액세스 토큰 요청
  2. 이 액세스 토큰을 사용하여 Confluence REST API를 호출하세요.

Confluence용 miniOrange REST API 인증 추가 기능을 사용하여 OAuth 2.0/OpenID Connect 인증을 설정하는 단계:

참고 : 여기서는 miniOrange OAuth 공급자를 예로 사용했습니다. 추가 기능은 Azure AD, Keycloak, Okta, Gsuite(Google 앱), AWS Cognito, Github, Gitlab 등과 같은 사용자 지정 OAuth 2.0/OpenID 연결 공급자를 지원합니다.

1단계: 클라이언트 애플리케이션과 OAuth 2.0/OpenID Connect 공급자 간의 OAuth 흐름 설정:

    1. 클라이언트 응용 프로그램: Confluence REST API에 접근하려는 서비스 또는 사용자입니다.
    2. miniOrange와 클라이언트 애플리케이션 사이에 OAuth 흐름을 설정해야 합니다. 클라이언트 애플리케이션은 Confluence REST API를 호출하는 모든 서비스 또는 사용자입니다.
    3. 사용자에게 권한을 부여하고 액세스 토큰을 얻는 데 사용됩니다.  주의 사항: 이 흐름은 클라이언트 애플리케이션과 miniOrange OAuth 공급자 간에 설정됩니다. REST API 인증 추가 기능은 이 프로세스에 포함되지 않습니다. 귀하의 애플리케이션이 OAuth 2.0을 지원하지 않는 경우 다음 주소로 이메일을 보내주세요. info@xecurify.com.
    4. 이 링크의 단계별 가이드를 사용하여 miniOrange를 OpenID 공급자로 설정하세요. miniOrange를 OpenID Connect 공급자로 설정합니다.
    5. miniOrange를 OAuth 공급자로 설정한 후 다음으로 이동하세요. Apps 관리. miniOrange에서 만든 앱 옆에 있는 편집 링크를 클릭하세요.
    6. 복사 사용자 정보 끝점.

2단계: REST API 인증 추가 기능에서 내부 검사 끝점 구성:

    1. 내부 검사 끝점: 내부 검사 끝점은 OAuth/OpenID 공급자의 끝점입니다. 액세스 토큰을 사용하여 호출할 수 있습니다.사용자 이름을 반환합니다. 답으로.
    2. 선택 사용자 정의 OAuth 제공자 FBI 증오 범죄 보고서 OAuth 제공자 설정 탭
    3. 입력 사용자 정보 끝점 1단계에서 자체 검사 엔드포인트 필드에 복사되었습니다. 이렇게 생겼습니다.
      https://login.xecurify.com/moas/rest/oauth/getuserinfo
    4. miniOrange의 사용자 정보 엔드포인트는 다음과 같은 응답을 반환합니다.
      { "sub": "demouser", "firstname": "Demo", "email": "demo@example.com", "username": "demouser", "lastname": "User" }
    5. 사용자 이름 속성: 인트로스펙션 엔드포인트 응답의 이 키는 어떤 사용자가 API 호출을 하는지 플러그인에게 알려줍니다.
    6. 위의 응답에서, 사용자 이름 속성에는 API 호출을 수행하는 사람의 Confluence 사용자 이름이 포함됩니다. 따라서 사용자 이름은 사용자 이름 속성으로 입력됩니다. 따라서 플러그인은 Confluence 사용자 "demouser"가 API 호출을 하고 있다는 것을 알게 됩니다.

3단계: miniOrange OAuth 공급자로부터 액세스 토큰 가져오기:

    1. miniOrange를 사용하여 OAuth 흐름을 시작합니다. 이 OAuth 흐름은 다음과 같습니다.

2. 이 흐름이 끝나면 miniOrange에 구성된 애플리케이션 리디렉션 URI에 액세스 토큰이 반환됩니다.

3. miniOrange OAuth 공급자의 샘플 액세스 토큰은 다음과 같습니다.

  A834c0606ba71336423013699db8e971

4단계: 액세스 토큰을 사용하여 Confluence REST API를 사용합니다.

    1. Confluence를 REST API로 호출하세요. Authorization 헤더에 액세스 토큰을 포함합니다. Page API를 생성하는 예는 다음과 같습니다.

의뢰:

     컬 \ -X POST \ -H "권한 부여: 전달자 " \ -H "콘텐츠 유형: application/json" \ --data {아래 참조} \ http://localhost:8090/confluence/rest/api/content/|phython-mjson.tool \

 

입력 데이터:

     { "유형":"페이지", "제목":"새 페이지", "공간":{ "키":"TST" }, "본문":{ "저장소":{ "값":" 이것은 새 페이지 ", "representation":"저장소" } } }

2. 추가 기능이 액세스 토큰의 유효성을 검사합니다.
3. 액세스 토큰이 유효하지 않은 경우 문제가 발생합니다.
4. 토큰이 유효하지 않거나 누락된 경우 호출은 401 Unauthorized 응답을 반환합니다.

다음은 miniOrange 플러그인을 사용한 REST API 인증 흐름도입니다.

안녕하세요!

도움이 필요하다? 우리는 바로 여기에 있습니다!

SUPPORT
miniOrange 지원팀에 문의하세요
성공

문의 해 주셔서 감사합니다.

24시간 이내에 연락을 받지 못한 경우 언제든지 다음 이메일로 후속 이메일을 보내주세요. info@xecurify.com