microsoft / microsoft/azure-devops-python-api

Authentication through Personal Access Token creates organisational coupling

オープン
#500 コメント 3 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Python
スター
684
フォーク
218
平均マージ
8日 10時間
マージ済み PR(30日)
1

説明

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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、ライブラリで文書化されている Personal Access Token 認証と、Azure DevOps Server がサポートする OAuth2 またはアプリケーション認証フローを確認します。H2M と M2M の要件を比較し、サポートするフロー、認証情報のライフサイクル、および完了を実証するために必要なドキュメントまたはテストを定義します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
azure, python
領域
api, authentication, cloud
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。