WSO2-ISとWSO2-APIMを使用するカスタム認証ツールを実装しようとしています。しかし、私は認証されたユーザーに役割を割り当てる方法を見つけることができません。WSO2IS/APIM:カスタム認証者のユーザーロールを割り当てる方法
認証されたユーザーにロール "customer"が必要です。以下は、processAuthenticationResponseメソッドで使用したコードです。
Map<ClaimMapping, String> claims = new HashMap<ClaimMapping, String>();
claims.put(ClaimMapping.build("http://wso2.org/claims/role", "http://wso2.org/claims/role", null, false), "customer");
AuthenticatedUser user = AuthenticatedUser.createLocalAuthenticatedUserFromSubjectIdentifier("xxxxxx");
context.setSubject(user);
これを正しく実装するためのガイドは非常に高く評価されています。
ありがとうございました。
ありがとうございます。しかし、私はそれを試して、それはまだ動作しません。私はデバッグして、カスタム認証者でユーザーを認証した後にメソッドdoPostAuthenticateが呼び出されないようです。 詳細情報私はユーザーストアで定義された役割 "顧客"を持っています。ただし、カスタムオーセンティケータで認証したユーザー名はユーザーストアにありません。 (そのため、カスタムオーセンティケータを作成する必要があります)。これは正しいアプローチですか? – tinnapat
'doPostAuthenticate'メソッドが呼び出されない場合は、サービス登録の問題である必要があります。リスナーが正しく登録されているか確認してください。 あなたのユーザーと '顧客'の役割は2つの異なるユーザーストアにありますか?異なるユーザーストアの役割を、別のユーザーストアのユーザーに割り当てることはできません –
こんにちはChamila。申し訳ありません。私はモバイルアプリケーション経由でユーザーを認証するカスタムオーセンティケータを作成しようとしています(OTPと同様に、ユーザーのモバイルアプリケーションにコードを送信し、ユーザーは認証エンドポイントのログインページにコードを入力する必要があります)。ユーザが任意のユーザストアに格納されないように)。しかし、ロール "customer"を持つユーザーのみを許可するAPIMのスコープを指定するので、認証されたユーザーにロール "customer"を持たせたいと思います。私のシナリオで可能ですか?ありがとう – tinnapat