2

私はログイン画面を持つモバイルアプリを作る必要があります。ログイン画面は私たちのクライアントが提供する認証サービスを使用しますユーザー名とパスワードは基本的なプロファイル情報とトークンと呼ばれるものを返します。私はそれがベアラトークンではないと考えています。彼らがLDAPに対してチェックを作成したサービスです。私が認証サービスを制御していない場合、ベアラトークンでAPIサービスを保護する方法

次に、私たちのサービスは顧客のデータセンターにインストールされませんが、おそらくAzureのサービスファブリッククラスタになるでしょう。

これらのサービスは、認証されたユーザーのみが呼び出せるように、どうすれば保護できますか?

私はこの記事が見つかりました: https://stormpath.com/blog/token-authentication-asp-net-core

をしかし、認証は、1つのドメインであるので、私はそれは同じことではないことを推測します。私のサービスは別のデータセンターにあります。

答えて

2

私はあなたの質問を理解していた場合は、ご利用の場合は、次のとおりです。

  • モバイルサービスは、認証サービスにログイン要求を送信し、いくつかのトークンを取り戻します。 (これは不透明で、動作の仕方には何の影響もありません)。
  • モバイルアプリケーションは、そのトークンを使用して認証された要求を別のサービスに送信する必要があります。認証サービスと同じネットワークまたはインフラストラクチャ。

問題は、認証およびトークンを処理するサービスにアクセスすることなく、他のサービスがトークンの信頼性を確認するために何らかの方法が必要なことです。 (私は問題を誤解している場合、明確にしてください。)

頭に浮かぶ2つの解決策があります:あなたの新しいサービスは、その後、トークンを検証する認証サービスにコールバックすることができる場合

  • は、ソリューションは簡単です。あなたのサービスがHTTPS経由で認証サービスと話し、トークンが有効であることを確認してください。
  • トークンが独自に検証できる方法で署名されている場合(たとえば、非対称鍵で署名されたJWT、または既知の対称鍵など)、新しいサービスは認証と通信することなく検証できますサービス。この場合、新しいサービスでは、トークンが期限切れでなく、署名がチェックアウトされていることを確認する必要があります。
関連する問題