私は、azureにデプロイされたADFSによってセキュリティ保護されたwcfサービスを持っています。私は自分のコンソールアプリケーションでそのサービスを利用することができます。しかし、私はWindowsの電話7アプリケーションでそのサービスを消費する方法がわからないとき。 私のコンソールアプリケーションでは、セキュリティトークンを取得して、そのトークンをCreateChannelWithIssuedTokenメソッドを使用してchannelfactoryオブジェクトに渡しています。しかし、Windowsの電話アプリでトークンをwcfサービスに渡す方法はありません。この問題で誰も私を導くことができますか? ありがとうございます。Windowsの電話アプリケーションでadfsによってセキュリティ保護されたwcfサービスを使用しています
答えて
トレーニングキット(http://www.microsoft.com/download/en/details.aspx?displaylang=en & id = 8396)ここに役立つACSAndWindowsPhone7の例があります(私はそれを見ていません詳細に)。 Wade WegnerにはACSとWP7のブログ記事がいくつかありますが、ADFSとOAuthタイプのメカニズムの違いについてはわかりません。
CreateChannelWithIssuedToken
は、.NET 3.5/4.0のWIFアセンブリで追加された拡張メソッドでした(.NET 4.5では、System.ServiceModel名前空間に組み込まれているものがほとんどです)。あなたは電話でそれを持っていないので、あなたはチャネルを作成し、使用するための通常のWCFメソッドに悩まされています。
これはWinForms/WPFアプリケーションで作業している場合でも同じですが、その場合はWIFアセンブリをインポートするオプションがあります。それでも、必須ではなく、ADFSで保護されたサービスを利用することは、通常のWCFクラスでは完全に実行可能です。
some caveatsでは、Windows Phoneがこのような機能をサポートしているようです。拡張メソッドの実装を見てみると、彼らは本当にすべてが空想を何もしているように、それはいないようです:
public static T CreateChannelWithIssuedToken<T>(this ChannelFactory<T> factory, SecurityToken issuedToken)
{
return ChannelFactoryOperations.CreateChannelWithParameters<T>(factory, new FederatedClientCredentialsParameters
{
IssuedSecurityToken = issuedToken
});
}
public static T CreateChannelWithParameters<T>(ChannelFactory<T> factory, FederatedClientCredentialsParameters parameters)
{
ChannelFactoryOperations.VerifyChannelFactory<T>(factory);
T t = factory.CreateChannel();
((IChannel)t).GetProperty<ChannelParameterCollection>().Add(parameters);
return t;
}
確認する方法は、単にいくつかの診断を実行して、このようなエンドポイントがない場合などの例外を(スローセット)。 ChannelParameterCollection
はSystem.ServiceModel.Channelsで定義され、Silverlight/WP7でサポートされています。そしてFederatedClientCredentialsParameters
は、特別なことは何もどちらかではありません:
public class FederatedClientCredentialsParameters
{
public SecurityToken ActAs (get; set;)
public SecurityToken OnBehalfOf (get; set;)
public SecurityToken IssuedSecurityToken (get; set;)
}
あなたが私は怖いけれども、私は正確な手順を持っていない、でもWP7から、チャネルを作成し、通常はそれをあなたのトークンを使用することができるはずのように思えますそうするために。たぶん誰か他の人がやっているのかもしれません。
This記事は、SilverlightからWIFで保護されたWCFサービスにアクセスする方法を示しています。これは、あなたが電話でどのように行うのかとほぼ同じです。
- 1. JavaScriptからACSによってセキュリティ保護されたWCFサービスにアクセスする
- 2. KSoap2を使用してAndroidのセキュリティで保護されたWebサービスに接続
- 3. PHPクライアント用WCF Webサービスのセキュリティ保護
- 4. SilverlightでASP.NET AuthとDomainServiceを使用してWCFサービスをセキュリティ保護する
- 5. .net 2.0 WindowsアプリケーションでWCFサービスを使用しています
- 6. セキュリティで保護された/プライベートのWCFサービスを作成する方法
- 7. jQueryをセキュリティで保護されたサービスを使用するには?
- 8. Silverlightでwcfのセキュリティ保護された自己ホストサービスを使用する
- 9. Webアプリケーション - パスワードで保護されたディレクトリで保護されていますか?
- 10. wcfサービスをセキュリティで保護するためのパターンと優れた方法
- 11. WCFのセキュリティ保護RESTfulサービス - 認証されていないと呼び出すことはできません
- 12. IE7:このページには、セキュリティで保護されたアイテムとセキュリティで保護されていないアイテムの両方が含まれています。
- 13. セキュリティで保護されたIISホストのWinFormsユーザーコントロールを介したアクセス用のWCFサービスのホスト
- 14. iOS PhonegapアプリケーションがXMLHTTPRequestを使用してセキュリティ保護されたWebサービス呼び出しに投稿すると、ステータスは0として返されます。
- 15. セキュリティで保護されたWebサービスを設定する
- 16. セキュリティ保護されたデータクライアントサイドキャッシュ?
- 17. net.tcpバインディングを使用してWCF通信をセキュリティで保護する方法
- 18. セキュリティで保護されたアプリケーションの方が良い
- 19. Webサービスでのセキュリティで保護された認証
- 20. セキュリティで保護されたモジュールを使用する
- 21. セキュリティ保護されたWebサービスにアクセスするSilverlight
- 22. セキュリティで保護されたWebサービスの負荷テスト
- 23. WindowsサービスでのWCFセキュリティ
- 24. web.configはIISによって保護されていますか?
- 25. セキュリティで保護されたASP.NET WebサービスとPHP
- 26. セキュリティで保護されていないページにネストされたセキュアなIFRAME
- 27. wifimanagerを使用してWPA-PSKのセキュリティ保護されたネットワークに接続している
- 28. このログインシステムはセキュリティ保護されていますか
- 29. セキュリティで保護されたXMLパーサー
- 30. WindowsサービスからホストされているWCF Webサービスを保護する方法は?