2

Azure API アプリのドキュメントでは、API アプリを保護する 3 つの方法について簡単に説明しています。その 1 つは内部アクセシビリティ設定です: 「内部 - 同じリソース グループ内の他の API アプリまたは Web アプリのみが API アプリを呼び出すことができます。」</p>

同じリソース グループとホスティング プランで別の Azure API アプリを作成しました。しかし、Web アプリから内部 API アプリに接続しようとすると、HTTP 403 認証エラーが発生し、次のエラー メッセージが表示されます:
「サービスのアクセス許可は内部に設定されていますが、この要求は外部にありました。」</p>

同じリソース グループ内の API アプリ間で内部設定を使用できた人はいますか?

4

1 に答える 1

2

これについては、すぐに文書化します。それまでの間、あなたがする必要があるのは次のことです。Nuget パッケージ Microsoft.Azure.AppService.ApiApps.Service をインストールする必要があります。次に、委任ハンドラーを次のように作成します。

class InternalCredentialHandler : DelegatingHandler
{
    protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        Runtime.FromAppSettings(request).SignHttpRequest(request);
        return base.SendAsync(request, cancellationToken);
    }
}

次に、HttpClient または生成されたクライアントを使用して別の内部 API に接続するときに、委任ハンドラーを渡すだけです。例えば:

MySampleClient client = new MySampleClient(new DelegatingHandler[] { new InternalCredentialHandler() });

ありがとう、モヒット

編集: これに関するドキュメントは、 https://azure.microsoft.com/documentation/articles/app-service-api-dotnet-consume-internal/で入手できるようになりました。

于 2015-05-02T00:37:21.473 に答える