Proposal: Default-Roles configurable via property
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- java
- Lĩnh vực
- authentication, authorization
Hướng nghiên cứu
Bắt đầu với role mặc định được hardcode trong src/main/java/org/ohdsi/webapi/shiro/management/AtlasSecurity.java và so sánh nó với thuộc tính security.ad.default.import.group hiện có. Xác định setting security.default.roles được đề xuất nên áp dụng như thế nào cho OIDC và các cơ chế xác thực khác, cũng như liệu phương án thay thế OIDC roles-claim có nằm trong phạm vi hay không. Công việc được xem là hoàn tất khi các role mặc định có thể được cấu hình mà không cần chuẩn bị cơ sở dữ liệu và hành vi được bao phủ cho các đường dẫn xác thực được hỗ trợ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Current Behavior
When Webapi is setup with e.g. OIDC and a new User signs in, it defaults to the public role. Without any preparation on the database, an admin has to set the actual roles afterwards. It would be more comfortable if the default roles could be configurable, similar to the User-Import from AD via the property security.ad.default.import.group.
The default role is hardcoded here: https://github.com/OHDSI/WebAPI/blob/3f9e90c5a62dac4557f34f85b2d0ce70d58b439d/src/main/java/org/ohdsi/webapi/shiro/management/AtlasSecurity.java#L79
Proposal
Define a new property security.default.roles, that sets the default roles:
// in AtlasSecurity.java
@Value("${security.default.roles}#{T(java.util.Set).of('public')}")
protected Set<String> defaultRoles;
This would apply to all authentications.
Alternative for OIDC
Allow to define a roles claim in the access token. By default Keycloak already sets this claim and pac4j parses it.
May add a property in webapi, that switches interpreting of the supplied roles. The huge advantage here is, that authorization can be managed by the IDP/Keycloak.
- Ngôn ngữ chính
- Java
- Star
- 153
- Fork
- 187
- Merge trung bình
- 2 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 13
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của OHDSI/WebAPI
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
CDM cache warming still fails when cache.achilles.usePersonCount=false (missing `cc` alias in getBatchConceptRecordCount.sql)Có thể đã có người làm @DG47 đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
GET /conceptset/{id}/expression returns items in nondeterministic order (query has no ORDER BY)Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 67/100
OHDSI/WebAPI#2543 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
status: needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
JabRef/jabref#17546 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
hiero-ledger/hiero-sdk-java#3010 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Optimize consumer version heatmap aggregation to avoid repeated scansCó thể đã có người làm @praykaria31 đã nhận hôm nay. Đang mởtype/enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Apicurio/apicurio-registry#10662 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
a:false-positive
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
Maintainer thường phản hồi trong vòng 1 ngày
-
status: waiting-for-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
spring-projects/spring-boot#52347 ·
Maintainer thường phản hồi trong vòng 2 ngày