問題タブ [accesscontrolservice]
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.
azure - ACS の MyOpenID: 必要なクレーム タイプの追加
この質問は、 「Azure ACS を使用して必要なクレームを OpenID ID プロバイダーに渡す方法」からの続きです。
ただし、問題に対する見方が少し異なるため、これを新しい質問として投稿しています。注: Azure セキュリティ フォーラムにもこれをクロスポストしていますが、これまでのところ有用な情報は得られていません。
Azure ACS サンプルは、任意の OpenID ID プロバイダーを ACS に追加できることを示しています。しかし、ACS がさまざまな一般的なプロバイダーの STS として私たちのプロジェクトで実際に役立つように、ACS を MyOpenID.com と連携させることに着手しました (これもサンプルで使用されています)。優れた Vittorioも示しているように、問題は、要求されない限り、MyOpenID が名前や電子メール アドレスなどのクレームを提供しないことです。Vittorio らは、これは MyOpenID が属性交換をサポートしていないためであると述べています。
しかし、私はそれについてよくわかりません。ACS が生成するリクエスト URL をもう少し深く掘り下げるopenid.ns.ax=http://openid.net/srv/ax/1.0
と、 や などのパラメータが表示されますopenid.ax.required=email,fullname,firstname,lastname
。また、openid.ax.type.email
タイプにタイプされaxschema.org/contact/email
ます。ここで、MyOpenID の問題が発生します。MyOpenID は axschema.org の型を認識しないため、電子メールの値を返しません。
私が知っていることは、MyOpenID がschema.openid.net/contact/email
型を理解しているということです。したがって、これに基づいて、ACS 要求 URL を手動で変更し、axschema の代わりに openid.net スキーマを使用しました。見よ、MyOpenID は反応し、私のメールアドレスが実際に返されることを示している.
myopenid.com/server エンドポイントに渡そうとしているパラメーターのリストを次に示します。
- openid.ns= http://specs.openid.net/auth/2.0
- openid.mode=checkid_setup
- openid.claimed_id= http://specs.openid.net/auth/2.0/identifier_select
- openid.identity= http://specs.openid.net/auth/2.0/identifier_select
- openid.realm= https://myazurenamespace.accesscontrol.windows.net:443/v2/openid
- openid.return_to= https://myazurenamespace.accesscontrol.windows.net:443/v2/openid ...
- openid.ns.ax= http://openid.net/srv/ax/1.0
- openid.ax.mode=fetch_request
- openid.ax.required=メールアドレス,フルネーム
- openid.ax.type.email= http://schema.openid.net/contact/email
- openid.ax.type.fullname= http://schema.openid.net/namePerson
残念ながら、応答が ACS に返されたときは十分ではなく、ACS は次のエラー コードで失敗します。
HTTP エラー コード: 400 メッセージ: ACS30000: OpenID サインイン応答の処理中にエラーが発生しました。内部メッセージ: ACS90014: 必須フィールド 'openid.ax.value.email' がありません。トレース ID: f8e09e6f-0765-4370-9f03-f744cce6fa2a タイムスタンプ: 2011-08-02 17:12:57Z
元のメール タイプを変更せずにフィールドを追加しようとしましたが、同じエラーしか発生しません。実際、AX を完全にサポートしていないのは ACS であり、特定の種類のクレームのみを受け入れるようにハードコードされているのではないかと疑い始めています。
問題は、私のリクエストパラメータがあなたに正しく見えるか、それともここで明らかな何かが欠けているかということです.
注:私の初期設定は機能しています。ACS 要求を変更せず、ACS で ID プロバイダーのパススルー ルールを 1 つだけ構成すると、MyOpenID ID プロバイダーを使用して ACS を介して Web サイトを正常に認証できます。ただし、ACS からの要求でクレーム タイプhttp://schema.openid.net/namePerson
またはhttp://schema.openid.net/contact/email
azure - Windows Azure AppFabricアクセス制御サービス(ACS)のOAuth2.0IDプロバイダー
OAuth 2.0委任は、Azure AppFabric AccessControlServiceに含まれています。
しかし、実際にOAuth 2.0 IDプロバイダーをどのように設定しますか?
IDプロバイダーを追加してWS-FederationIDプロバイダーを選択する場合の管理インターフェイスで、WS-Federationメタデータドキュメントを提供する必要があります。
ただし、OAuth 2.0プロバイダーのドキュメント(つまり、http://msdn.microsoft.com/en-us/library/hh243647.aspx)を読むと、メタデータドキュメントについての言及はありません(はい、WindowsLiveが含まれていることはわかっています)。事前構成されたIDプロバイダーとして)。これは私が書かなければならないことですか?
アップデート
わかりました。APIを使用してIDプロバイダーを追加できることがわかりました。例として次のPowerShellコマンドを参照してください。
ただし、OAuthプロバイダーを追加しようとすると、エラーが発生します。
別の更新
ACS Management APIは、新しいIDプロバイダーを追加するためのメカニズムを提供します(OpenIdをWebSSOProtocolTypeとして設定した場合)が、OAuthテストサーバー( http://term.ie)のキー/シークレットをどのように渡すかがわかりません。/ oauth / example /)私が使用しているrequires。
azure - ShibbolethをWindowsAzureアクセス制御サービスと統合できますか?
高等教育機関の2つのクライアントは、SSOにShibbolethを使用しています。私はShibの経験がなく、テストするインスタンスもありません。
最終的には、ShibSSOをこれらのクライアントとWindowsAzure(MVC)Webロールに統合したいと考えています。だから私の質問は:
- これは可能ですか?
- もしそうなら、どのように?Shibで設定を行う必要がありますか?それらは何ですか?
これについては、昨年のMIX11でVittorioBertocciと話をしました。彼は、Shibで有効にできる「WS-Federation」というチェックボックスがあると言っていました。これにより、互換性が有効になります。WS-Fedはサービスプロバイダーではサポートされていますが、IDプロバイダーではサポートされていないことをクライアントから学びました。
コメントに応じて、この質問に詳細を補足させていただきます。
c# - Azure AppFabric アクセス コントロール サービスの Cookie の有効期限を設定する
ASP.NET MVC 3 アプリケーションで Azure の Access Control Service を使用しています。正常にログインでき、必要なすべての請求データを読み取ることができます。1 つのことを除いて、すべて正常に動作します。しばらくすると (1 時間以内)、認証 Cookie の有効期限が切れたように見えます (少なくとも、要求の Cookie コレクションには表示されなくなります)。
私はまだ SSL なしで開発エミュレーションを使用しています (認証サービス自体を除く)。
次のアクション フィルターを使用して、一部のコントローラーへのアクセスを制限しています。
有効期限を延長するにはどうすればよいですか? または、アクション フィルターで Cookie を手動で更新するのが適切でしょうか?
前もって感謝します!
access-control - ACSとWindowsLiveIDの統合を介してWCFサービスに対して認証するにはどうすればよいですか?
ACS経由でUserName認証を使用するWCFサービスがあります。これは、サービスIDを使用している場合はうまく機能しますが、Windows Live ID資格情報を使用しようとすると、次のエラーが発生します。
System.ServiceModel.FaultException:ACS10002:SOAP本体の処理中にエラーが発生しました。ACS50012:認証に失敗しました。ACS50026:「louis@arsunica.com」という名前のプリンシパルは既知のプリンシパルではありません。
残念ながら、WCFサービスでWindowsLiveIDを使用する方法の例はまだ見つかりません。私が見つけた唯一の例は、複数のIDプロバイダーをASP.NETまたはMVCWebサイトと統合することに焦点を当てているようです。
この点での助けをいただければ幸いです。
jquery - Azure Access Control Service(ACS)でのシングルサインオンにjQueryを使用しますか?
AzureインスタンスからRESTAPIを使用しています。また、Google、Live、Facebook、およびYahooでアクティブ化されたACSシングルサインオンもあります(ここからhttp://goo.gl/KNU6Hに続きます)。jQueryとHTMLを使用してAzureAccessControl Serviceのログインページを作成するにはどうすればよいですか?
asp.net - Microsoft Azure を使用した ID 管理システムの構築
Microsoft azure と .net を使用して、ロール ベースのアクセス制御を備えた ID 管理システムを構築しようとしています。
誰かがそれについていくつかの指針を提供できるかどうか疑問に思っていました. 管理者などのユーザーの役割に応じたアクセス制御を使用して、認証を設定したいと考えています。
どんな助けでも大歓迎です。
oauth-2.0 - Azure Access Control Service を介した Windows Live 電子メール
ユーザーが Google、Facebook、および Windows Live アカウントを使用して ASP.NET MVC Web サイトにサインインできるようにしようとしています。私は現在、Azure App Fabric ACS を使用していますが、これはほとんど簡単すぎました。問題は、メールアドレスが必要だということです。Google と Facebook は電子メールをクレームとして提供しますが、Windows Live は提供しません。LiveConnect サイトから、これは wl.basic (ユーザー名を取得するため) および wl.emails (ユーザーの電子メール アドレスを取得するため) スコープを使用して簡単に可能であるように見えますが、順番に ACS に影響を与えることはできませんでしたこの情報を取得します。また、ユーザーがサインインした後に自分のサイトから取得するために、OAuth2 Web サーバー フローを実装しようとしました。必要な情報を取得することはできましたが、FedAuth Cookie が削除されたため、サインオンの無限ループに陥りました。にリダイレクトしましたhttps://oauth.live.com/authorizeでフローを開始します。これを(サーバー側で)機能させることができた人はいますか?ACS を完全に破棄し、各プロバイダーのカスタム コードを使用してサインインを有効にするカスタム ページを提供する必要がありますか?
以前のデモ (ブログ エンジン ala smarx) をコードで改造して、独自のものを公開する必要がないようにしました。私のweb.configにFedUtilは以下を挿入しました:
すべてのユーザーの拒否を削除しました
しかし、ユーザーに許可を強制する特定のアクション メソッド (新しいブログの投稿) があります。
Cookie (FedAuth および FedAuth1) が最初に入力された New リクエスト内。リダイレクトが返された後、それらはなくなります。私はセッション プロバイダーに対して何もしていません (おそらくそうすべきです)。
asp.net - アプリケーションの実行時ではなく、azure アクセス制御サービスのログインが表示されるタイミングを変更する方法
Azure Access Control Service を使用した認証オプションを自分の Web サイトに追加しようとしています。すべての機能は正常に動作しますが、アプリケーションが最初に実行されたときではなく、ログインするために ACS にリダイレクトされるときを変更したいと考えています。これを行う方法はありますか?
どんな助けでも大歓迎です
ありがとう。
azure - Azure 独立ユーザー ストアと Access Control Service サービス ID
Azure 上で開発中のモバイル Web プラットフォームがあります。通常のパッシブ認証シナリオである Web サイトと、アクティブ認証シナリオである Web サービスの前にあるモバイル クライアントがあります。私たちは独自のユーザー ID ストアを作成し、他のユーザーに基づいて作成したくありません。現在、彼は私たちがマッピングしたオプションであり、それらに関する質問を追加しました: (間違っているか、何かばかげたことを書いている場合は訂正してください)。
1.Asp.net メンバーシップ - もともとアクティブなシナリオ用に構築されていないため、OpenId/OAuth プロバイダーもサポートしたい場合、将来ブロックされます。また、 は SWT/SAML トークンをサポートしていないため、将来的にはサービス環境で複数のセキュリティ ハンドラが必要になります。将来必要になった場合に、これを Azure ACS と統合する良い方法をご存知ですか?
2.ADFS 2.0 : 仮想マシンにアクティブなディレクトリをインストールし、それを介してすべてのユーザーを管理できます。将来的には、これを Azure ACS に統合し、SWT をサポートできます。Active Directory は、基本的なユーザー認証にとってやり過ぎではありませんか? それは IT のオーバーヘッド (どうしても排除したいもの) ではないでしょうか。
3.おそらく、Oracle Identity management などの他の ID 管理サーバーを仮想マシンにインストールし、Azure をカスタム STS として統合することができます。Oracle は Web アクセス製品ラインを指定しています: http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html
4. Azure サービス ID を使用して、そこにユーザーを追加するだけです。ここでの主な問題は、この範囲に大量のユーザー (数百万人以上) を追加できるかどうかです。
よろしく ,
ジェームズ