bridge-y / scraps

My own memorandoms using issues like Zenn Scrap
0 stars 0 forks source link

VaultWardenのSSOを試すメモ #4

Open bridge-y opened 11 months ago

bridge-y commented 11 months ago

概要

bridge-y commented 11 months ago

Timshel/vaultwarden: Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs

SSO 関連の環境変数

vaultwarden/.env.template at 09a399f8c5badb3200759622a543fcb106840404 · Timshel/vaultwarden

## SSO settings (OpenID Connect)
## Controls whether users can login using an OpenID Connect identity provider
# SSO_ENABLED=true
## Prevent users from logging in directly without going through SSO
# SSO_ONLY=false
## Auto accept organization invitation, if set to false you will need
##  - to let user log using email+Master password (SSO_ONLY=false)
##  - use a patched frontend to allow the invitation to be preserved across the sso redirection
# SSO_ACCEPTALL_INVITES=false
## Base URL of the OIDC server (auto-discovery is used)
# SSO_AUTHORITY=https://auth.example.com
## Set your Client ID and Client Key
# SSO_CLIENT_ID=11111
# SSO_CLIENT_SECRET=AAAAAAAAAAAAAAAAAAAAAAAA
## Optional SSO public key for JWT validation
# SSO_KEY_FILEPATH=%DATA_FOLDER%/sso_key.pub.pem
bridge-y commented 11 months ago

SSO_ONLY=true にした場合

e-mail + マスターパスワード による認証を試みると、エラーメッセージが表示される。

SSOが必須であるというエラーメッセージ

モバイルアプリでも同様のエラーメッセージが表示される。

bridge-y commented 11 months ago

フロントエンド実装2(デフォルトの表示ページが/sso

初期アクセス画面でSSOを促される。
キャンセルすると、通常の認証フロー(e-mail + マスターパスワード)となる。

初期ページ

こちらの実装を使用するには、以下のように Dockerfile を書き換える。(READMEより)

sed -i 's/oidc_button_web_vault/oidc_overide_web_vault/' Dockerfile
bridge-y commented 11 months ago

モバイルアプリでSSO

Android の Bitwarden アプリで、SSO でログインできることを確認した。

bridge-y commented 11 months ago

authentik でメールアドレスを変更したあとにVaultWardenにSSOすると、新規アカウントが作成される。
→ 試していないが、変更前のメールアドレスで保存していたデータはおそらく引き継がれない。

authentikのOAuth2 Provierでは、Subject modeBased on the User's hashed ID に設定していた。

bridge-y commented 11 months ago

疑問