ディスカッション (101件)
皆さん、認証プロバイダーをハブにして全アプリの認証を統合する構成、試したことはありますか?ホストしているあらゆるアプリの認証を一つの傘下にまとめるというアイデアです。IaC(Infrastructure as Code)で管理さえできれば、非常に柔軟な運用が可能になります。オープンソースプロジェクトは流行り廃りが激しく、時にはコミュニティに対して非友好的になることだってありますよね。そんな時、Keycloakのような共通の認証プロバイダーを導入しておけば、アプリを入れ替えてもユーザー情報を再作成する必要がありません。例えばNextcloudのような巨大なモノリスを、特定の機能に特化した小さなプロジェクト群へ移行する際も、認証が統一されていれば非常にスムーズです。この手法を実際に運用している方は、どんな体験をしていますか?現在どんなアプリを接続しているかぜひ教えてください。私自身はまだ本格的な深掘りはできていませんが、現状のラインナップは以下の通りです:・linkding ・immich ・grafana ・navidrome(未接続) ・joplin(未接続) ・vaultwarden(未接続)。まだ半分程度のアプリでしかKeycloakを活用できていませんが、趣味のプロジェクトや友人、地域のメイカースペース向けにRealmを分けて運用しており、十分にその恩恵を感じています。
この投稿やプロジェクトでAIがどう使われたかを知りたいなら、このコメントへの返信を展開してみて。
自分はバックエンドにLLDAPを使ったAutheliaを使ってる。今のところすごく快適。
同じく。自分もollama + openwebuiのスタックを追加したよ。OIDCの設定は2分もかからなかった。ドキュメントをコピペするだけ。
それな。Autheliaのドキュメントにあるインテグレーションの章はすごく分かりやすい。
Authelia + LLDAPの組み合わせに1票。
自分はPangolin SSOとしてPocketIDを使ってるよ。保護されてないNextcloudやImmich用にも使ってるけど、すごくいい感じ。
自分も全く同じことしてるよ。最近は自分でアプリを開発することが増えてきたから、その要件として(SSO対応を)追加するようにしてる。
自分はauthentikを使ってる。ただ、NavidromeがSSOをサポートしてないのが本当に気に入らない。回避策もひどいもんだよ。
OIDCがないなら、forwardauthを使うのはどう?
多分そうなんだけど、自分には使いこなすのが難しすぎる。ドキュメントも役に立たないし、本当に試してみたんだけどダメだった。あと、リバースプロキシ経由で追加すると、モバイルアプリが動かなくなる可能性が高いんだよね。
navidromeってhttps接続かな?それとも独自のポート使ってる?独自のポートなら問題ないかもしれないね。
どうだろうね。自分はそこまで辿り着けなかったな。提案された解決策を何時間もいじってみたけど、全然うまく動かなくてさ。
ちなみに、NPMでリバースプロキシを組んでqbittorrentとかを守ってるんだけど、なぜかNavidromeのログインをauthentikのヘッダーと接続させるのが異常に難しかったんだよね。
APIエンドポイントのフォワード認証はバイパスできるよ。
ブラウザ上では自動ログインされるから、Navidrome内のパスワードがAPIキーみたいな役割になって、アプリでも使えるようになる。自分はそれ用にすごく長くてランダムなパスワードを作ったよ。
追記:まあ、めちゃくちゃな回避策の一つかもしれないけどね。
提案の意味がよくわからないんだけど。
理論上はNavidromeのログインを完全に無効化して、Authentikの認証壁の裏に隠すことはできるよ。自分はqBittorrentでそれをやってる。
ただ、そうするとマルチユーザーアクセスができなくなるのが難点だね…
https://www.navidrome.org/docs/usage/integration/authentication/#configuration
外部認証を有効にすると、Navidromeは受信リクエストのRemote-User HTTPヘッダーから認証済みユーザー名を取得する。ヘッダー名はExtAuth.UserHeader設定オプションで変更可能。
プロキシを設定して /rest/* URLへの認証をバイパスし、それらのリクエストはNavidrome側で認証を行うこともできる。
同じやり方でいけるはずだよ。NavidromeがRemote-Userヘッダーを読み取れるようになればマルチユーザーアクセスも維持できるし。Authentik側ではヘッダー名が違うかもしれないけどね。
それがうまくいったら、APIの認証をバイパスするルールを作成すればいい。
あと、リバースプロキシ経由で追加するとモバイルアプリが動かなくなる可能性が高いんだよね。
https://www.navidrome.org/docs/getting-started/extauth-quickstart/
ここを見る限り、/share/ と /rest/ をホワイトリストに入れれば良さそうだけど。
それだとアプリが壊れると思うよ。でもカスタムヘッダーならいけるはず。
ああ、自分の環境でもやったよ。でも一部のパスは除外しないとアプリが動かなくなるから気をつけて。
/rest エンドポイントでOIDCをバイパスできるようにすれば、Web版はOIDCで認証しつつ、Subsonic対応アプリはNavidromeで設定したパスワードで動くはずだよ。APIがOIDCスタックで保護されないという意味では理想的ではないけど、APIにはよくあることだしね。Navidromeのパスワードをユーザー設定可能なAPIキーとして扱うようなものだよ。これでユーザーはWeb版ではSSOを使って操作できるはずだし、それが一番の懸念点だったんだよね。
ああ、できる限りAuthentikをブループリントと一緒に使ってるよ。
OIDCを使い始めると、その便利さがすぐ分かるよ。逆にnavidromeとかjellyfinみたいに、未対応の有名アプリにぶち当たった時にね。
Jellyfinは対応してなかったっけ?確かプラグイン経由だった気がするけど。
「今誰がログインしているか」みたいなコアかつクリティカルな機能は、サードパーティのプラグインに任せるべきじゃないでしょ。(https://github.com/9p4/jellyfin-plugin-sso )いつサポート終了になってもおかしくないしね。それにこれだとウェブでしか使えないし。Plexを本気で置き換えるなら、どこでもOIDCが使える状態じゃないとね。Plexはそれができてるんだから。
残念ながらそのプラグイン、アーカイブされちゃったんだよね。
なるほど。
少なくともLDAPプラグインは公式でまだ使えるから、ないよりはマシだよね。
君の投稿で初めて知ったわ。それは残念。今使ってるけど、Jellyfinが互換性を切った瞬間に(少し前にあったけど)もう終わりだな。
少なくともldapはまだ使えるからな。
自分も全く同じ状況。自分以外が使うものをホストするならOIDCは必須だよね。みんなNavidromeやSubsonicがSpotifyの代替になるって言うけど、SSOがないと自分には無理。あと、AuthentikからPocketID/Tinyauthに乗り換えたんだけど、めちゃくちゃ快適。Authentikの機能の10%しかできないけど、たぶん自分が必要なのは5%くらいだしね。パスワードからパスキーへの移行は最高だよ。かなりおすすめ。
PocketIDは最高だけど気をつけて。職場や他のパソコンからログインできなくなる可能性がある。自分の場合、Edgeだと大抵ハードウェアキーでのログインオプションは出るけど、パスキーやTOTPは許可されないことがあるんだ。
仕事用の端末や自宅の特定のPCでランダムに発生するんだけど、原因は結局わからずじまいで…
パスキー自体は素晴らしいけど、パスキーオンリーっていうのは使い勝手が悪いな。
パスワードやTOTPでログインできるなら自分もPocketIDに乗り換えるんだけど。
仕事用のPCではそんなこと起きたことないから、間違いなく企業のEdgeポリシーかなにかが影響してるね。まあメールコードでログインすることもできるはずだし、手間はかかるけど動くはずだよ。SMTPプロバイダーが必要になるから、smtp2goがおすすめ。あと、仕事用のPCから自分のホームラボにログインするなよ、バカめ😅
なんでダメなの?仕事中にNextcloudのデータが必要なんだよ。どのみちPangolinの背後にあるし。
個人のシステムと仕事のシステムを混ぜると、いろいろ面倒なことが起こるよ。会社のポリシー違反になったり、片方のマルウェアがもう片方に影響したり、仕事用PCで監視されたりとかね。
それな、自分もイライラするわ。たぶんSubsonic APIへの対応の名残なんじゃないか?
そう、サービスが増えてくるとよくあるアプローチだね。注目すべきはOIDCサポート。今のアプリではそれがほぼ必須になってる。
2026年現在、これから始める人にはPocket-IDを強くおすすめするよ。Passkeyにのみ対応してるんだけど、これが「ユーザーにとって圧倒的に便利」かつ「極めてセキュア」という(非常に珍しい)両立を実現してるんだ。Pocket-ID自体も構築が簡単で見た目もいい。
自分も何年もAuthelia + LDAPを使ってたしAutheliaも大好きだけど、乗り換えたメリットはかなり大きかった。もう戻れないね。今37個のシステムやアプリでPocket-IDを使ってるよ。
PocketIDに一票。
最初はAutheliaにしようと思ったんだけど、サービス10個分を設定する手間を考えたら代替案を探す気になってね。PocketIDを見つけて試したけど、セットアップはめちゃくちゃ簡単だし、UI/UXもPasskey対応で優れてる。Autheliaとかに比べるとかなり軽量だよ。
検証用にAutheliaとauthentikを基本SSO設定で入れてるけど、腰を据えてしっかり理解して記憶し続けるのがなかなか大変でね。PocketIDの方がずっと簡単そうだからチェックしてみるよ。
AutheliaはForwardAuthみたいに認証システムのサポート範囲が広いけど、その分複雑になる。Pocket-IDがパスキー専用っていうのは(個人的には)強みだと思う。設定も体験も簡潔になるし、パスワードの管理に悩まされることが一生なくなるからね。
自分もAuthentikの設定でやる気が出なくて、2回諦めた経験があるよ。Pocket IDはめちゃくちゃ簡単で最高だった。
まだ始めたばかりだけど、Pocket IDは最高だね。サービスを追加すれば、ほぼ一瞬でみんながアクセスできるようになるんだから。大学で(ひどいやり方の)LDAPやOIDCをなんとなく見たことがある程度の初心者からの意見だけどね。
唯一気に入らないのは、Jellyfinがネイティブ対応してなくて、対応させてた唯一の拡張機能もアーカイブされちゃったことかな。
Pocket IDは2回失敗して、パスキーを設定してたアプリから締め出されたことがある。100% Pocket IDのせいとは言い切れないし、去年のあの時はセットアップかDBの問題だったのかもしれないけど……何にせよ、今はCloudflareのアプリとポリシーを使う方が好みかな。
面白いね!昨日ちょうどJellyfinでLDAPプラグインを使うためにLDAPのセットアップをしてて、だいぶ時間を食ったところだよ。面倒だったけど、とりあえずうまく動いてるみたい。
OIDCをサポートしてないアプリはどうしてる?
自分はCaddyでForwardAuthを使ってる。他の人だとtinyauthとか、似たようなソリューションでうまくいってるみたいだね。
逆の意見も言っておくと、Ansibleですべてのサービスを構成したい自分としては、Pocket IDよりAutheliaの方がニーズに合ってるかな。最初はパスキーだけでいけるからPocket IDで始めたけど、結局IaC環境を完璧に構築したくてAutheliaに乗り換えたよ。
パスキーのみっていう制約が、見た目以上に仕事してるね。Autheliaで環境作ってた時は、柔軟すぎることが逆に問題になってた。結局半分がTOTP、2つがWebAuthn、みたいな状態になって、自分ですら新しいサービスを追加する時の手順がバラバラで混乱してたし。選択肢をあえて絞るプロバイダーの方が、信頼して導入しやすいよね。
セキュリティ面はどうなの?詳しい人による監査とかレビューってある?Authentikは一応ちゃんとした会社がバックについてるみたいだけど、実際のところどうなんだろうね。
最初使い始めた時、PocketIDでちょっと躓いちゃったんだよね。完全に自分のミスなんだけど。とりあえずの繋ぎでTinyauthを使ってるよ。
「パスキーはユーザーにとって遥かに便利」という意見には全面的に同意しかねるな。特定のユースケースでは最高だけど、そうじゃない場面では最悪だよ。
なるほどね、絶対的な言い方をするつもりはなかったよ。ただ、ユニークで強力なパスワードを管理するのは普通のユーザーには非常に難しいし、それが不要になるのは間違いなく大きなメリットだと思う。パスキーに短所がある状況があるのは間違いないけど、それらはあくまで例外的なケースで、大半の場合は最初からパスキーを採用する合理性があると思ってる。もちろん、自分にとってパスワードを使うのが合理的だと思えばそうすればいいさ。
自分がauthentikを立てた唯一の理由は、家族や友人が自分のGoogleアカウントでサービスを使いやすくするためだよ。自分だけで使うものは、そのサービス自身の認証システム(だいたいシンプルなログインページか、認証なし)を使ってる。
まあ、彼らが自分のGmailのパスワードを忘れてそれが俺のトラブルになるまではうまく機能してるよ(Dani叔母さん、君のことだよ)
OIDC対応ならPocket ID、そうじゃなければTinyauthがいいよ。
OIDC非対応のアプリについては、こんな感じでやるといいよ:
services:
bento-pdf:
image: ghcr.io/alam00000/bentopdf-simple:latest # 推奨
# image: bentopdfteam/bentopdf:latest # 代替: Docker Hub
container_name: bento-pdf
restart: unless-stopped
#ports:
# - '40000:8080'
networks:
- bentopdf_net
bento-pdf-oauth2-proxy:
image: quay.io/oauth2-proxy/oauth2-proxy:latest
container_name: bento-pdf-oauth2-proxy
restart: unless-stopped
command: --config=/oauth2-proxy.cfg
volumes:
- /srv/appdata/Docker/bento-pdf/oauth2-proxy.cfg:/oauth2-proxy.cfg:ro
ports:
- "40000:4180"
networks:
- bentopdf_net
networks:
bentopdf_net:
driver: bridge
そして .cfg ファイル:
########################################
# OIDC / PocketID
########################################
provider = "oidc"
oidc_issuer_url = "https://id.example.com"
client_id = "id-from-pocketid"
client_secret = "secret-from-pocketid"
redirect_url = "https://pdf.example.com/oauth2/callback"
# PocketIDにID情報を問い合わせる
scope = "openid email profile"
########################################
# アップストリーム (Bento PDF)
########################################
upstreams = ["http://bento-pdf:8080"]
# 他のリバースプロキシ (Nginx/Caddyなど) の背後にいる場合
reverse_proxy = true
########################################
# クッキー
########################################
# 以下を使って32バイトのランダムなbase64文字列を生成する:
# python - << 'EOF'
# import os, base64; print(base64.urlsafe_b64encode(os.urandom(32)).decode())
アプリごとに設定するのは少し手間だけど、一度やってしまえば終わりだからね。
自分はoauth2-proxyからtinyauthに乗り換えたよ。似たようなもんだね。tinyauthの設定を一度pocket idですれば、あとは必要なサービスにシンプルなアノテーション(k3s/traefik)を追加するだけだから楽だよ。
あー、そういうことね。了解。じゃあTinyauthを見てみるよ。
Pythonに関してだけど、暗号化関連の機能にはrandomモジュールよりsecrets module を使うのが推奨されてる。例:>>> import secrets; secrets.token_urlsafe(32) 'gaHjLxVgPm1RSJ8Jj-1O1tZxIonA3JqoZWJicE_UeAE' もしくはhexの方が良ければ(opensslコマンドを使うガイドが多いみたいに):>>> import secrets; secrets.token_hex(32) '0c005a6631b6875ab67cfc1b5558a34c58c08f84a284b7a5beb08c08e6af9af5'
自分はlldap+autheliaを使ってるよ。サポートしてるアプリ全部でOIDC経由にしてる。
自分はIDプロバイダーにPocketID、認証機能がないものにはTinyAuthを使ってる。これまで構築した中で最高のシステムで、めちゃくちゃ快適。家族にも好評で、GoogleやMicrosoftのログインが20年遅れてるように見えるくらいだよ。
自分もPocketIDにはかなり満足してる。セットアップも使い勝手も簡単だしね。
Pocket-IDに1票。自分はPangolin(Traefik込み)と一緒に使ってる。Pangolinを使うとルーティングや証明書、ルール、バイパス設定が楽だからPocket-IDとの相性もいいんだ。例えばSeafileとOnlyOfficeを併用するとき、ブラウザでファイルを編集・保存できるようにするために、一連のバイパスルールを作って連携させる必要があったよ。
OIDCに対応していないいくつかのサービスのために、TinyAuthを実装しようと思っていたところだよ。
驚くほどシンプルで、認証やOIDCについて考えさせられたよ。多くのプロバイダーが認証機能とID管理機能を統合しちゃってるけど、それは本来あるべき姿じゃないって気づかされたね。で、OIDCを実装しているほぼ全ての場所が、独自の認証プロバイダーを内蔵していることにも気づいたんだ。いっそ全部フォワード認証だけで対応してくれればいいのに、って思っちゃうよxD。
Pocket IDとLLDAPを使ってるけど最高にいい感じ。認証非対応のサービスはtraefikのミドルウェアとして連携させて、対応してるやつはID/パスワード認証を無効化してOIDCだけに統一したよ。例外はNextcloudで、これはOIDCに加えて2FA付きのID/パスワードも残してる。あとJellyfinはOIDCとの相性がまだ悪いから今のところID/パスワードのみ。ただ、ブルートフォース攻撃対策でfail2banは入れてる。https://github.com/viggy96/container_config
自分もPocketIDとLLDAPを使ってるけど、OIDC非対応のアプリにはtinyauthを使ってる。
tinyauthは不要だよ。認証機能がないサービスを守るなら、Traefikのこのミドルウェアが使えるよ。
https://traefik-oidc-auth.sevensolutions.cc/docs/getting-started
自分は古い人間だから、20年前からActive Directory / LDAPでSSOとディレクトリ統合をやってたんだよね。使ってるアプリが全部LDAPに対応してるから、ずっとこれ一択。PSNOと組み合わせればログインもかなりスムーズ。Authentikもホームラボに入れてるけど、自分一人で使う分にはそこまでのSSOは必要ないかな。他の人にサービスを公開するなら面白いだろうけど、今はやってないし。
LogToは最高だよ。めちゃくちゃおすすめ。
エージェントに頼んでドメイン全体でNginxとAuthentikを組み合わせた構成にしたよ。最初は直感的に分かりにくい部分もあるけど、そこまで混乱するほどじゃない。認証は好きに構成できるのがいいよね。自分はパスキーによるシンプルなパスワードレス環境にしたよ。すごくおすすめ。アプリで/shareリンクとかがある場合は除外設定もできるし。
もしTailscaleを使ってるなら、tsidpが実装しやすくておすすめ。
authentikを強く勧めるよ。何と言ってもインテグレーションのドキュメントが最高だから。認証周りは単純じゃないし、自力でやろうとすると泥沼にはまるよ。
VoidAuthがいいかも。
Pocket IDとCaddyのforward auth、それにOIDCを直接サポートしてないアプリにはTinyauthを使ってる。めちゃくちゃ快適だし、Dockerラベルでアプリごとにアクセス制御の設定ができるのもいい感じ。
うわ、なんてタイミングの良い投稿なんだ。さっきまであまり使わないサービスのパスワードリセットをしてて「マジで統一ログインシステムが必要だわ」って思ってたところだよ。投稿してくれて本当に助かる、寄せられたリプライも全部読むよ。
似たような環境でKeycloakを使ったことあるけど、対応してるアプリなら問題なく動くよ。ただ、きれいに統合できないツールが増えてくると一気に管理が面倒になる。結局、すべてのサービスじゃなくて主要なものだけで使うのが一番だなって結論になった。
Keycloakとスムーズに連携できないツールを使うために、別のものに乗り換えたの?自分は仕事でKeycloakを使っていて、その経験があるから自宅の認証もKeycloakにしたんだよね。理想を言えば認証基盤は1つにまとめたいし。
Authentikをインストールしたけど、まだセットアップできてないんだよね。仕事でKeycloak使ってるけどかなり複雑だし、もう少し簡単なやつを試そうと思って。とはいえ、SSOはおろか外部認証すら対応してないサービスが多いのが悩みの種だよね。
同じく。自分も仕事でKeycloakを使っているから自宅にもデプロイしたんだけど、Homepageみたいに認証機能がないものに対しても認証をかけられる仕組みが必要なんだよね。
zidaelってのもあるよ。
今ちょうどチェックしてるとこ。
自分はこれをベースにAuthentikで完全にエコシステムを構築してるよ。すごくうまく動いてる。新しいサービスを入れる時の基準は、基本的にOIDCを使えることにしてる。とはいえ、AuthentikのOutpostでログイン認証(認証を通らないとページに飛べない仕組み)をかけてないツールもいくつかあるけどね。設定はこんな感じ:
ホーム画面はhome.domain.comのAuthentikのOutpost経由でゲートしてる。これが親戚全員用のSSOポータルになってる。全ユーザーのログイン方法として「Googleでサインイン」をメインにしてるから、みんなワンクリックで入れる。ITに詳しくない連中ばかりだからね。
使ってるOIDCアプリ:
Nextcloud, Immich, Audiobookshelf, Kavita, RomM, Mealie, Wikijs
ツール系:Sterling-PDF, ConvertX, MiniQR, ConvertX。このエコシステム外で動かしてるのはPlexだけかな。
自分のマシンでもローカルサービスを一通り動かしてるけど、それは自分用で、Uptime Kuma、Speedtest Tracker、Tautulli、Prometheus、Grafana、cAdvisor、標準的なセキュリティツールとかだね。
FQDNは全部Cloudflare経由で、ジオフェンシングとかの一般的な制限をかけてる。
要するに、AuthentikがメインのSSO IdPで、みんなGoogleでサインインすればあとは自由に使える状態。NextCloudは家族全員で使う共有フォルダとして設定してて、家系図とか写真とか、共有したいものを何でも放り込めるようにしてる。
あえてAuthentikの設定を変えて、アクセスできるのは手動で追加したメンバーだけにしてる。自己登録は絶対ナシだし、みんなGoogleでサインイン以外は何もしてない。ワンクリックで全部のサービスにアクセスできる環境だよ。こうしたのは、使ってるみんながITに詳しくないから、パスワード不要で全プラットフォームにアクセスできるのが一番手っ取り早かったからなんだ。家族でシェアして協力して使うためのものだし、ユーザーはみんな信頼できる身内ばかりだよ。
正直に言うと、Authentikを適切に設定してトラブルを解消するのは一番苦労した。フローやステージ、Outpostなんかの仕組みを理解するのに結構時間かかったしね。でも、やるだけの価値は確実にあるよ。
自分は全アプリケーションでPocket IDとTinyAuthを組み合わせて使ってるけど、すごく快適だよ!
今ちょうど設定中なんだけど、Navidromeの設定で詰まってる。VPS上のPangolinで自宅サーバーのPocketIDを認証ソースにしていて、同じ自宅サーバーのNavidromeをリソースとして使おうとしてる。Navidromeの外部認証ドキュメントには、TrustedSources設定オプションにリクエスト元のIPアドレスを追加しろってあるんだけど、これって固定IPや予測可能な範囲のIPを持つリバースプロキシを指してる気がするんだよね。でも自宅のデスクトップからNavidromeのURLにアクセスすると、Navidromeのログには自宅ネットワークのグローバルIPからリクエストが来てるように見える。これだとクライアントのIPがそのまま見えるってことだよね?TrustedSourcesを有効なオプションとして使うには何かが足りてない気がする。今日中にでも別スレッド立てようと思ってるけど、もし同じような構成でヒント持ってる人がいたらぜひ教えてほしい。
PangolinもNavidromeも詳しくないんだけど、信頼できるソースの設定はもう済んでる?設定されていればリバースプロキシがHTTPリクエストに追加ヘッダーを付与して、バックエンド側で実際のIPを判断できるようになるはず。今の状態でパブリックIPが見えてるってことは、既にその仕組みが動いてるのかもね。
PocketIDがいいよ。OIDC非対応のアプリにはTinyauthを使う。軽くて安定してる。
TinyAuthとかを使ってる人に聞きたいんだけど、アプリがOIDCに対応してなくて、SSOした後に結局アプリ側でもログインしなきゃいけないのって面倒じゃない?
全部Keycloak一択。今は設定を https://github.com/Hostzero-GmbH/keycloak-operator に移行してるところだけど、今のところかなりいい感じ。
IdPにはFreeIPAを使ってる。ホストやVMを一括管理できるのが気に入ってるんだ。
OIDCが使えれば使うけど、基本的に自分のIdPに属さない個別アカウントは作らないようにしてる。何でも設定できるし、フォワードプロキシを使うだけでも済むから楽でいいよ。
AuthentikとInfisicalの組み合わせだな。
Codexを使って、使っているアプリ全部と連携させてるよ。
HTTPS用にTraefik + TinyAuth + Pocket-IDを使ってる。
可能な限りKanidmを使ってるよ。
Navidromeについてはまだ解決策を探してる最中で、今はTraefikのフォワード認証用にAuthentikをNavidromeのためだけに動かしてる。
今の計画としては、Navidromeの前にPangolinを立てて、クライアント用に有効期限の長いアクセストークンを使うつもり。
ここで言及されてるアプリのほとんどより、Cloudflare Zero Trustの方が優秀だよ。
自分はAuthentikを使ってるよ。
自分はユーザーとセキュリティグループ用にADをバックエンドにしたAuthentikを使ってるよ。必要な機能は全部揃ってる。
タイミングがいいね。ちょうどAIエージェントに特化した似たようなものを公開したところなんだ。人間がアプリごとに認証を管理するんじゃなくて、ローカルで動くAIエージェント向けのAPIキーアクセスを管理するものさ。「単一の信頼できる情報源(single source of truth)」という考え方は同じだけど、クライアントが人間じゃなくて自律プロセスなんだよ。興味があれば github.com/prem7verma21-code/vault-zero を見てみて。認証アーキテクチャについて考えている人からのフィードバックは大歓迎だよ。
Authentikは本当にいいね。欲しい機能が全部揃ってる。pocketidなんかと比べると設定の手間は少し増えるけど、OIDC未対応のアプリでもフォワード認証とヘッダーを使った認証ができるから詰まないのが強みだね。基本、数十ものサービスでユーザーと権限を一箇所で管理できるのは楽だよ。これにユーザー体験の向上とSSOの便利さが加われば、複数の人がアクセスするサービスがいくつかあるなら導入しない手はないでしょ。それに、こういうシステムは個別のアプリのログインページよりも遥かに堅牢だしね。重要なものがフォワード認証の裏側にあって、ログインページの深刻な脆弱性があっても影響を受けないとわかっていれば、安心して眠れるよ。
自分は lldap と pocket ID を使ってる。
俺はAutheliaを使ってるから、構成はこんな感じ:Cloudflare Tunnel(サブドメインごと、immich.domain.comなど) > Nginx Proxy Manager > セッションが有効じゃないユーザーにはAutheliaのサインインページ。サインインにはパスキーを使ってパスワードマネージャーに保存してる。妻はフィットネストラッカーや旅行計画ツールに簡単にアクセスできるし、自分でホストしてるって感覚が最高だよ。
全機能が必要ならauthentik。軽量なのがいいならkanidm。一番軽くて機能がなくてもいいならpocketidかな。
前からやりたかったんだよね。2FAでログインできるイケてるダッシュボードを作って、そこから全アプリを立ち上げられるようなやつ。
初歩的な質問かもしれないけど、サーバーのホスト方法について考えてて。全アプリの前にWireGuardを置いて、アクセスさせたい人にQRコードかコンフィグファイルを送れば、その人たちだけがアクセスできるんじゃないかと思ったんだ。少なくともそういう仕組みだと理解してるんだけど、間違ってるかな?認証システムとしては十分な気がするんだけど。追記:書き込んだ瞬間に間違いに気づいた。誰か知ってたら教えてほしいけど、違ってたらごめん。
Zitadelを使ってる人が少なくて驚いてる。今のところ最高だよ。必要な機能は全部揃ってるし、Terraformのサポートも完璧だし、Keycloakより軽量だしね。俺はoauth2-proxyと組み合わせて使ってる。もしZitadelを試してやめた人がいたら、理由を知りたいな。
authentikとGoogle認証の組み合わせが好き。
俺はSamba ADとAutheliaを組み合わせて動かしてるよ。