問題タブ [adfs4.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - id_token、ADFS 2016、react-adal でアクセス トークンをリクエストする
ADFSとreact-adalで認証しているクライアント側アプリがあり、ほとんどが機能していますが、アクセストークン(したがってリフレッシュトークン)を要求する方法が見つからないようですid_token は、ADFS から返されるすべてです。
React アプリがサインインするためにユーザーを ADFS に転送する時点で、これはトークンを認証し、/adfs/userinfo エンドポイントからユーザー情報 (名前、姓、役割など) を取得できるようにしたいのですが、必要です。そうするためのベアラートークン。
現在、私の componentWillMount 関数は次のようになっています
私が立ち往生しているポイントは、2 番目の axios get メソッドです。これは、同じオリジンのコントローラー アクションにヒットします。
もちろん、応答は無許可で返されます。id_token からアクセス トークンを取得する方法、または Adal.js ライブラリを使用してフロント エンドで React からアクセス トークンを取得する方法に関する情報が見つかりません。
編集: id_token から取得した唯一の情報は以下のとおりです。
oauth-2.0 - ADFS 2016 - OAuth2 SPA - 新しいトークンをサイレントに取得する
ユーザーが ADFS で認証され、アプリケーションがアクセス トークンを取得する SPA があります。JS コードを使用して ADAL JS の機能をシミュレートしようとしています。非表示の iframe を使用して ADFS にリクエストを送信し、新しいトークンを取得しようとしています。
これは、iframe の「src」値です。
ADFS は、AD と ADLDS (LDAP) の 2 つのレルムで構成されます。このため、ADLDS でユーザーの domain_hint および login_hint パラメーターに渡す必要がある値がわかりません。
リクエストは次のメッセージで失敗します:
ADFS イベント ビューアに次のエラーが表示されます。
例外の詳細: Microsoft.IdentityServer.Web.Protocols.OAuth.Exceptions.OAuthNoPassiveException: MSIS9233: プロンプトが [なし] に設定された OAuth 承認要求に対して複数の ID プロバイダーが見つかりました。ホーム レルムの検出を完了できません。
この機能は ADFS 2016 で実際にサポートされていますか? 私が間違っていることについて何か考えはありますか?
single-sign-on - 外部組織の ADFS サーバーを信頼し、openid Connect トークンを消費する
ADFS サーバー 2016 は、openId 接続をサポートしています。ADFS サーバーをホストする外部組織があり、openIdConnect を使用して Web アプリケーションを外部 ADFS サーバーから認証する必要があります。
質問: Microsoft ドキュメントのとおりです。外部組織の ADFS を使用する場合は、組織内でも ADFS をホストする必要があります。アプリケーションは、外部 ADFS を直接信頼するのではなく、組織内でホストされている ADFS を信頼する必要があります。
ここで、opendiconnect を使用して外部 ADFS を直接信頼できない理由を知りたいですか? 可能のようです。外部 ADFS を直接信頼しない理由は何ですか?
powershell - ADFS PowerShell: IssuanceTransformRules の RuleTemplate を使用した Web API (Add-AdfsWebApiApplication) のスクリプト作成
ADFS MMC を使用して ADFS アプリケーション グループを定義しました。展開用のスクリプトを作成したいと思います。New-AdfsApplicationGroup と Add-AdfsNativeClientApplication を使用してスクリプトを作成しました。次に、Web API のスクリプトを作成します。Get-AdfsWebApiApplication の出力を見ると、次の IssuanceTransformRules が表示されます。ルールには名前が付けられ、テンプレートが参照されます。
@RuleTemplate = "LdapClaims"
@ルール名 = "2"
c:[タイプ == " http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname "、発行者 == "AD AUTHORITY"]
=> issue(store = "Active Directory", types = (" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress ", " http://schemas.xmlsoap.org/ws /2005/05/identity/claims/name ", " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn "), query = ";mail,sAMAccountName,userPrincipalName;{0} ", param = c.Value);
これを次のようにスクリプト化しました。
これにより、次のエラーが発生します。
パーサー エラー:「POLICY0030: 構文エラー、予期しない COMMA、次のいずれかが必要です: O_SQ_BRACKET IDENTIFIER NOT AT IMPLY .」行:1 文字:1 + Add-AdfsWebApiApplication -Name "My Web API" -AllowedClientTypes ... + ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo :InvalidData: (@RuleTemplate =... ram = c.Value);:String) [Add-AdfsWebApiApplication]、PolicyValidationException + FullyQualifiedErrorId: POLICY0002.Microsoft.IdentityServer.Management.Commands.Add-AdfsWebApiApplicationCommand
@RuleTemplate と @RuleName の両方を削除すると、以下は正常に実行されますが、LDAP 属性と発信クレーム タイプのドロップダウン リストを提供するグラフィカル テンプレートを使用して編集できないカスタム ルールが生成されます。
名前やテンプレートをスクリプトに含める方法を提案してくれる人はいますか?