1

Kendo Mobile (Phonegap+Javascript) を利用した法人向けタブレットアプリの開発・開発を予定しています。アプリケーションに必要なすべてのサービスは、ASP.NET Web API テクノロジを使用して開発され、セキュリティで保護する必要があります。

ユーザーのタブレット アプリケーションは、企業のファイアウォールの背後にある ADFS を使用して認証する必要があります。Azure ネットワークと企業ネットワークの間にサイト間 VPN トンネルを開き、Azure のサービス レイヤーから ADFS にアクセスできるようにします。

タブレットには、企業のネットワークへの VPN 接続はありません。問題は、SAML を使用して ADFS でモバイル ユーザーをどのように認証するかということです。アクティブ/パッシブ認証スキームについてかなり読んでいますが、タブレットから直接 ADFS にアクセスする必要があります。できないので、VPN トンネルを介して ADFS と通信し、タブレットにトークンを提供し、タブレットがそのトークンを使用して保護されたサービスと通信できる認証サービスを Azure に持つことはできますか?

同じ問題を経験したことがある人や、どのように対処したかを教えていただければ幸いです

4

2 に答える 2

1

あなたの API (WebApi ベース) は Azure でホストされていると思いますよね?

モバイル クライアントで STS からトークンを取得するには、通常、Web ブラウザーに認証を委任し (パッシブ プロファイルを使用)、トークンを抽出して使用可能にする必要があります。これは、多くの場合、「アクティブ プロファイル」 (クライアント資格情報を送信し、代わりにセキュリティ トークンを受信できるエンドポイント) をサポートしない STS の場合です。ADFS はこれを (WS-Trust を介して) サポートしていますが、ADFS をインターネットに公開したくはありません (ただし、ADFS には VPN を必要とせずに、これに対する特定の役割があります)。

この手法は、このサンプルで説明されています。PhoneGap にはおそらく同等のものがあります。

あなたの場合の(より簡単な?)方法は、Windows Azure AD(WAAD)アカウントを取得し、DirSyncを使用してそこでADを同期し、WAADを(ADFSの代わりに)STSとして使用することです。WAAD は定義上、インターネットに公開されているため、VPN などは必要ありません。DirSync の最新リリースでは、パスワード ハッシュも同期されます。このアーキテクチャは、このブログ投稿で説明されているものと似ています。(ページの下部にある図を参照して、パッケージ化されたアプリを独自の API に置き換えてください)。

ただし、Azure AD が WS-Trust をサポートしていると 100% 確信しているわけではありません (最後に確認したときはそうではありませんでした)。そのため、前に説明した手法 (ブラウザーを使用) を使用する必要がある場合があります。

いずれにせよ、トークンを取得したら、それを API に送信します。WebApi エンドポイントを保護するには、おそらく JsonWebTokenHandler を使用する必要があります。この例は、こちらから入手できます

最後の注意: Windows Azure モバイル サービスの使用を検討することをお勧めします。あなたはそれを見ましたか?

于 2013-08-18T03:13:36.560 に答える
0

これは基本的な ADFS アーキテクチャの質問のように思えますが、タブレット、モバイル、phonegap、または証明書利用者とはまったく関係ありません。あなたが見逃しているのは、ファイアウォールの背後にある ADFS サーバーを誰もが完全にアクセスできないようにすることが想定されていることだと思います。次に、クライアントが通信する DMZ にプロキシをセットアップすると、プロキシが ADFS サーバーと通信できるようになります。

フェデレーテッド ログインの最大の利点の 1 つは、セキュリティ トークンをネットワーク外のどこか (パートナー企業、Google、Microsoft、Facebook など) から取得できることです。ネットワークの外部から要求を開始できる方法。そうでなければ、ADFS の価値は大幅に低下していたでしょう。

于 2014-02-26T21:10:44.770 に答える