問題
- 既存のトークンベースの SSO を置き換えるために SAML 認証をセットアップしようとすると、ユーザーまたは電子メール・アドレスがすでに使用されているというエラーが表示される。
-
A user with company 1xxxx and email address test@liferay.com is already in use
-
- メールアドレスを更新し、SAML 経由で初期ユーザを作成すると問題は解決したが、SAML ユーザでログインし直すと認識されず、新しいアカウントを作成しようとする。
環境
- DXP 7.2
解像度
- 利用可能な既存の回避策があり、あなたのインスタンスでの動作を修正できるはずです。 あなたの環境にいくつかの異なる設定を加えるだけで、ログインの試みは成功するはずだ。
- Liferay インスタンスを SP と IDP としてセットアップし、 ScreenName を NameIdとして使用します。
- 以下の認証情報でSPにユーザーを作成する
スクリーンネーム: user2
メールアドレス: user1@liferay.com
ファーストネーム: u1
ラストネーム: u1
パスワード: test - 以下の認証情報でIDPにユーザーを作成する
スクリーンネーム: user1
メールアドレス: user1@liferay.com
ファーストネーム: u1
ラストネーム: u1
パスワード: test - 新しいブラウザセッション(別のブラウザ/インコグニート)を開き、SPにアクセスする。
- サインイン」をクリック => IDPにリダイレクトされます。
-
user1@liferay.com
でログインしてください: ログインに失敗しました。 ログを見ると、以下のようになっています。2023-09-20 16:41:59.039 ERROR [http-nio-8080-exec-7][BaseSamlStrutsAction:59] 会社名20101、メールアドレスuser1@liferay.com のユーザーは既に使用中です
-
7. SP と IDP の両方で SAML 設定を変更し、 use emailAddress as NameId
8. SP にアクセスしてサインイン user1@liferay.com
結果: ログイン成功