私はこのようなことをしようとしています:
- MVC4 Web アプリと Web-API サービスがあります (Azure の 2 つの別々のロールでホストされています)
- 別のロールが CustomSTS1 を実行します。
- MVC Web アプリは CustomSTS1 を信頼します
- 顧客がサイトにログインすると、STS ログイン ページにリダイレクトされます。
- ログインすると、MVC Web サイトにリダイレクトされます。
- この Web サイトから、顧客がアクションを実行すると、Web API サービスが呼び出されます。
Web アプリに SAML トークンがあり、これを WebAPI サービスに渡します。
Web API 側で SAML トークンを検証しようとすると、
Message=ID1032: At least one 'audienceUri' must be specified in the SamlSecurityTokenRequirement when the AudienceUriMode is set to 'Always' or 'BearerKeyOnly'. Either add the valid URI values to the AudienceUris property of SamlSecurityTokenRequirement, or turn off checking by specifying an AudienceUriMode of 'Never' on the SamlSecurityTokenRequirement.
これには、CustomSTS1 を信頼する Web API サービスがありません
信頼を設定すると、Web API サービスに対して HTTP Get 要求を実行しようとすると、常に HTTP 401: UNAUTHORIZED が返されます。
さて、私の質問は、(私の現在のアプローチが間違いなく間違っていることを知っています)
- WebAPI サービスが MVC サイトにログインしたユーザーに代わって ActAS を実行できるように、CustomSTS1 との信頼関係をセットアップするにはどうすればよいですか?
また
- このアーキテクチャは間違っていますか?
- そして、これを達成する別の方法はありますか?