misskey-dev / misskey

🌎 An interplanetary microblogging platform 🚀
https://misskey-hub.net/
GNU Affero General Public License v3.0
9.84k stars 1.33k forks source link

Customizable OAuth2 Client (Sign in using other auth provider) #13346

Open Hoto-Cocoa opened 7 months ago

Hoto-Cocoa commented 7 months ago

Summary

Add customizable OAuth2 Client - Sign in using other auth provider.

Purpose

Discord/GitHub連動が削除された今、MisskeyにはOAuth2 Clientの実装がありません。

現在、私は内部用のMisskeyサーバーを構築しようとしていますが、内部認証サーバーと連動しようとしています。 この認証サーバーはLDAPとMS AD、OAuth2に対応していますが、MisskeyにはOAuth2が最も適していると思います。

もし実装されるなら、次の手順に進んでほしいです。

  1. まず、名前などの基本情報のみ入力してもらい、クライアント登録
  2. redirect urlを作成し、詳細ページでこれを露出
  3. 認証に必要なOAuth2 Client詳細情報(Client ID、Secretなど)を入力(Clientを生成するためにRedirect URLが先に必要な場合があるため)
  4. 保存後活性化

また、Misskey の内部認証を完全に無効化し、Username も OAuth2 で定めた値のみ利用できれば幸いです。 具体的には、内部認証サーバのIDがEmailのUsernameであり、ポリシー上MisskeyのUsernameとこれを一致させようとしています。

さらに、アカウント作成ボタンを押すと、別のページにめくったりする機能もあるといいですね。 内部システム上、ユーザーが利用しようとするサービスを活性化しなければなりませんが、そのようなページに渡したりしたいです。

要約すると次のようになります。

  1. OAuth2で認証したい。 1-1. アカウントがなくて生成されるなら、UsernameをOAuth2サーバーで指定したい。
  2. Misskey の基本認証は無効にしたい。
  3. 登録ボタンを押すと別のページに送りたい。

個人的にこれを具現してPRを送ろうと努力していますがMisskeyに寄与したのはすべて小さなコミットルだけなのでコードを把握するのに時間がかかりそうなので先にRequestを送っておきます。

(翻訳機を使っているので文章が変な場合がございます。ご了承ください)

Do you want to implement this feature yourself?

kakkokari-gtyih commented 7 months ago

Duplicateの可能性がある(前に似たようなissueを見かけたことがある)

Hoto-Cocoa commented 7 months ago

Duplicateの可能性がある(前に似たようなissueを見かけたことがある)

一度OAuth2で検索したときは出ませんでした。 もし見つけたら教えてください。