SSO コールバックでセカンダリメールを送信するにはどうすればよいですか?
私はこの PHP ライブラリを使用しています:
Or how to add Secondary Emails to an user manually?
私もこれが必要です。私のウェブサイトでは、1 つのアカウントに複数のメールアドレスがリンクされています。ユーザーは任意のメールアドレスを使ってログインできます。ユーザーがプラットフォームにログインすると、フォーラムにも自動的にログインします。しかし、メインとは異なるメールアドレスでログインすると、Discourse ID とユーザー名を指定しているにもかかわらず、Discourse はそのメールアドレスに対して新規ユーザーを作成してしまいます。![]()
元々の質問に対する回答がまだなされていません。私の理解では、
(1) SSO 同期呼び出しは、セカンダリメールアドレスを解析しません。
(2) 「email editable」設定が有効になっていない場合(これは通常 SSO と共に使用される「auth overrides email」設定に必要です)、/u/{username}/preferences/email ルートを使用して API 経由でユーザーにセカンダリメールアドレスを指定することはできません。
これは残念なことです。セカンダリメールアドレスは受信メールの識別に非常に役立ち、私の SSO プロバイダーでも設定されているからです。Discourse にそれらを提供する方法は、どうやら存在しないようです。
非常にハック的な回避策としては、以下の2点が考えられます。
(1) 「認証がメールを上書きする」機能を無効にし、SSO API ではなくユーザー API を使ってユーザーのメールを設定する。
(2) テーマコンポーネントを使ってメール編集 UI を非表示にする。
@sam さん、Discourse Connect で代替メールを設定できるようにする適切な修正について、PR を歓迎しますか?
この問題は誰か解決しましたか? SSOを使用しており、プロバイダーはセカンダリメールを許可しています。しかし、ユーザーがそのセカンダリメールでログインすると、Discourseはユーザーの新しいアカウントを作成します。既存のユーザーをセカンダリメールで更新するにはどうすればよいですか?
この件に関して何かニュースはありますか。
SSOからセカンダリメールを同期する機能は許可される予定ですか?