-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add the JWT auths middleware and sample API #1627
Conversation
@raccoon-mh 안녕하세요.
|
현재 iam manager는 링크에서 확인해보실 수 있습니다. 연동을 위해 Tumblebug 은 사용할 계정과 역할을 알아야 합니다. 이번 릴리즈에는계정 생성 혹은 매니징은 제외하고 기본 계정과 역할들로 매니징 됩니다. |
@yunkon-kim 활용 오픈소스 관련해서, github.com/gookit/goutil 가 꼭 필요한지도 문의 드립니다. :) |
@seokho-son 네, 체크해보고 공유 드리겠습니다. |
@all-contributors please add @raccoon-mh for review |
I've put up a pull request to add @raccoon-mh! 🎉 |
코드상으로 확인해 봤습니다. 간단한 기능이라서 내부 함수로 구현한 이후에, 해당 패키지를 제외하는 방향으로 진행 하겠습니다 :-) |
@yunkon-kim 해당 PR 마무리를 위해서 혹시 도와드려야 할 사항이 있을까요? :) |
온라인 회의에서 의견 조율 및 Quick 통합 추진 예정입니다.
|
@raccoon-mh 안녕하세요. @yunkon-kim 님과 논의한 사항을 다이어그램으로 그려보았습니다. 여기서, CB-TB가 생각하는 아이디얼한 형상은 1번인데, 현재 IAM 및 Web콘솔에서는 2번과 같은 형상 및 예제를 제공해주신 것이 아닌가 싶습니다. |
작성해주신 다이어그램 살펴봤습니다. 저희가 추구하는 형상 또한 1번이 맞으며, IAM v0.1.2 프리 릴리즈에서 각 SP 가 미들웨어를 구축 할 수 있도록, 공개키 certs 엔드포인트를 제공하고 있습니다. 이번 web 콘솔에서 또한 자체적으로 미들웨어를 가져가면서 어느정도 유저 워크스페이스 등 제한이 가능할 것으로 보이나, 2번 형상에서 그려주신 것처럼 TB 에서 SP 등으로 요청시 토큰에 대한 Validation을 검사 하는 등 토큰 검사에 대한 범위 및 횟수에 대해서는 논의가 필요해 보입니다. |
직관적인 다이어그램을 그려주셔서 감사합니다. @raccoon-mh
|
|
@powerkimhub 현재 논의되고 있는 사항은 cb-tb api 를 요청한 사용자가 vaild한지 확인하는 방법 및 인터랙션 형태에 대한 것이고, oicd 등 csp credencial 관련된 내용과 살짝 다른 류의 디스커션인 것 같긴 합니다. 말씀하신 관점에서 논의는 길게 진행된다면 신규로 디스커션을 파서 논하는 것이 좋을 것 같습니다. |
관련 코드를 |
미들웨어 수정과 관련한 협의 사항: m-cmp/mc-iam-manager#18 (comment) |
MC-IAM-MANAGER v0.2.7과 연동 및 테스트 완료하였습니다.
|
.gitignore
Outdated
!conf/cloud_conf.yaml | ||
!conf/log_conf.yaml | ||
!conf/setup.env | ||
!conf/store_conf.yaml | ||
!conf/template-* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@yunkon-kim 해당 설정 파일들이 ignore 되지 않게 처리하는 패턴이 맞나요? 혹시 의도하신 것일까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@seokho-son
다시 보니 Ignore 되도록 하는 것이 맞겠네요. 원래대로 돌려놓겠습니다.
* Add JWT auth middleware and related functions * Add a sample API * Update `setup.env` * Update `.gitignore` * Add a `jwt_auth.yaml` template
* Remove `github.com/gookit/goutil` pkg
* Minor replace `ENABLE_AUTH` with `AUTH_ENABLED` in `docker-compose.yaml`
* Encounter a build error due to Alpine Linux using `glibc`-specific functions 'pread64', 'pwrite64', and type 'off64_t' * Replace with golang 1.21.6-bookworm (Debian 12.6) * Install necessary packages for SQLite support and build requirements
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!!
아래와 같이 개선되었습니다.
(테스트 완료) MapUI에서 MCIS 생성 및 삭제 테스트 수행 -> 정상적으로 완료됨 (의견) |
Show and discuss
Please, do not merge this PR
MC-IAM-MANAGER(m-cmp/mc-iam-manager#18) 에서 미들웨어 패키지를 공동 개발 및 개선하는 것에 대해 논의하기 위한 Draft PR을 오픈하였습니다. (일부는 TB에 일부는 IAM에 반영 예정 입니다.)
Public Key 공유 및 IAM-MANAGER에 직접 테스트를 수행하는 것이 어렵다고 판단되어,
Local에 Keycloak 배포한 후, CB-Tumblebug에 우선 적용 및 테스트를 진행한 사항 입니다.
PR은 아래 항목을 포함하고 있습니다.
setup.env
.gitignore
jwt_auth.yaml
templateSample
예시 1 - Token 없이 요청
예시 2 - Token과 함께 요청 -> 토큰에서 추출한 정보 리턴
@innodreamer @raccoon-mh @seokho-son (cc. @powerkimhub @MZC-CSC @dev4unet)