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
のトークンを使用している間、私のサービスをホワイトリストに登録したり保護したりできますか?