私はoAuthを使用して認証を実装しようとしており、これに対してDotNetOpenAuthを使用しています。DotNetOpenAuthを使用してシングルアクセストークンによるWebサービス間の要求を承認
私たちは、プロジェクト要件を満たす複数のREST Webサービスを提供しています。 1つのAuthenticationService、Customer Service、Order Serviceなどがあります。
コンシューマーは、このサービスを使用してユーザーを認証し、そこからアクセストークンを取得します。今、コンシューマーはカスタマーサービスのメソッドとアクセストークンを渡します。
カスタマーサービスは、認証サービスからアクセストークンを検証する必要があります。
カスタマーサービスでコンシューマーから送信された認証ヘッダーをキャプチャしようとしましたが、これをカスタマーサービスの認証サービスに渡そうとしましたが、署名を作成するために消費者が使用したURIがカスタマーサービスが認証サービスでこれを検証している間は、実際のリクエストはカスタマーサービスから来ます。これは別のものです。
希望問題を説明することができます。
どうすればこの問題を解決できますか?
サービス間でトークンデータベースを共有したくありません。だから今、私は何をしようとしています。各Webサービスにコンシューマキーと秘密を割り当てました。 Application Start Webサービスは自身を認証します。コンシューマーは、Accessトークンとそのコンシューマーキーをカスタマーサービスに送信します。カスタマーサービスは、アクセストークンとコンシューマーのキーを検証する認証サービスを呼び出します。 – Lalit
Application_Startでのカスタマーサービス認証は、IDEの下でWebDev Serverを使用してテストしたときに機能しましたが、IIS 7でホストすると失敗し、「このコンテキストではレスポンスを使用できません」というエラーが返されました。私はApplication_BeginRequestでこのコードを移動しようとしましたので、すでにコールされていなければコールのサービスを認証できます。しかしこれも失敗しました。どのように私はこれを行うことができますか? – Lalit
私はあなたの新しいデザインに従わない。しかし、トークンデータベースを共有したくない場合は、そのシナリオをサポートするOAuth 2を強く検討する必要があります。 –