2017-06-29 16 views
0

Azureには、azurewebsites.netエンドポイント経由ではなく、当社のエンドポイントであるapi.ourcompany.net(実際のドメイン名ではない)を経由して呼び出さないでください。401 APIMを使用してAzureサービスを呼び出すと権限がありません

私は(実際のIPが示されていない)このように、web.configファイルにアズールAPIMのIPアドレスをホワイトリストに登録することにより、Webサービスを保護しています

<ipSecurity allowUnlisted="false" denyAction="Unauthorized"> 
    <!--This is for api.ourcompany.net --> 
    <add allowed="true" ipAddress=“aaa.bbb.ccc.ddd” subnetMask="255.255.255.0"/> 
    </ipSecurity> 

これが正常に動作します。

サービスはiPadアプリから呼び出されます。アプリは、AuthorizationヘッダーにBearerトークンを提供する必要があります。トークンは、ユーザーがアプリケーション内の当社のサインインページにサインインすることによって取得されたOAuth/JWTトークンです。

これは時々うまく動作し、他の時には401 Unauthorizedが生成されます。私はすべてのケースでトークンが有効であり、アプリケーションが正しくトークンを送信していると確信しています。

トラブルシューティングからわかるように、トークンは、ユーザーが会社のWiFiネットワークに接続しているとき、またはLTE搭載のモバイルデバイスを使用しているときに機能します。ユーザーが別のWiFiネットワークに接続すると失敗します。ネットワークを切り替えると不規則に動作するようです。

ホワイトリストをオフにして問題が消えてしまったようです。

私の質問は、Bearerのトークンを使用している間、私のサービスをホワイトリストに登録したり保護したりできますか?

答えて

0

私たちには2つのAPIMインスタンスがあり、そのうちの1つだけをホワイトリストに入れました。私が持っていたリストは、2年前に配備されたプロジェクトからコピーされ、別のAPIMインスタンスが昨年追加されました。そのような小さなものがどのようにトラブルシューティングするのが驚くべきか驚くべきことです。

関連する問題