microsoft / microsoft/azure-devops-python-api
Authentication through Personal Access Token creates organisational coupling
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 684
- Fork
- 218
- Merge trung bình
- 8 ngày 10 giờ
- Pull request đã merge (30 ngày)
- 1
Mô tả
Currently, the only documented way to use this library is to authenticate with a Personal Access Token.
This seems wrong, as:
- From what I know about them, Personal Access Tokens are associated to human accounts
This means an application access to an Azure DevOps instance is tightly coupled to the existence of a human person in an organisation, which means applications access will break depending on other life cycles. - Personal Access Token also require an expiration date, meaning applications access will break regularly, forcing some manual (human) extra credentials management on top of, and separate from, the one associated with the parent account.
Is there a plan to support other kinds of authentication scheme with Azure DevOps (Server)?
One could think of an OAuth2 process, for instance, allowing different flows:
- H2M, much like what is achieved through PAT, without any extra (token, on top of account), manual, token lifecycle management
- M2M which would allow managing applications-specific secrets
Both flow isolate authentication of the application from any other organisational resource, and allow delegation of authorisation and grants lifecycle to a dedicated, potentially automated third-party.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
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.
Hướng nghiên cứu
Bắt đầu bằng việc xem xét cơ chế xác thực Personal Access Token được thư viện ghi nhận và các luồng xác thực OAuth2 hoặc xác thực ứng dụng được Azure DevOps Server hỗ trợ. So sánh các yêu cầu của H2M và M2M, sau đó xác định luồng được hỗ trợ, vòng đời thông tin xác thực và tài liệu hoặc các bài kiểm thử cần thiết để chứng minh việc hoàn thành.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- azure, python
- Lĩnh vực
- api, authentication, cloud
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100