2017-11-01 1 views
-1

モバイル(Ionic)アプリのnet.coreでWeb APIを作成する必要があります。 このアプリの一部は、製品のリストを見るために認証される必要はありません。認証なしでnet.core apiを保護する

私の問題は、次のとおりです。

私はこの製品を一覧表示するには、ウェブAPIを作成する必要がありますが、ユーザーがアプリにログインする必要はありませんが、I'dは私のアプリケーションは、このAPIを消費しなかったことを好きすべてに公開してください(私のアプリは消費することができます)。

可能でしょうか?はいの場合、私は何をする必要がありますか?

おかげ

答えて

2

あなたが世界のサンセリフ認証にそれを公開することなく、アプリケーションへのAPIを利用できるように行うことができる唯一の方法は、あなたのウェブサイトと同じLAN上とファイアウォールの背後に、内部すなわちそれを維持することです。とにかく、公開されているかのように公開されていない場合、認証が必要かどうかにかかわらず、常に違反の可能性があります。

しかし、このアプローチの欠点は、AJAXのようなものやモバイルアプリケーションのような外部通信には利用できないことです。その結果、モバイルアプリでアクセスできる必要がある場合は、この方法で実装することはできません。つまり、は、に保護層を実装する必要があります。他の選択肢はありません。

また、ハイブリッドアプローチの一種を行うこともできます。公開されるべきではない特定のAPIエンドポイントがある場合、APIアプリケーションを外部と内部の部分に分割し、内部のものを内部に保ち、モバイルアプリの機能に絶対必要なAPIのみを公開することができます。しかし、公開されているものについては、認証レイヤーを実装する必要があります。そうしないと、認証レイヤーが広く開かれます。

つまり、認証はエンドユーザー認証である必要はありません。モバイルアプリケーションをクライアントとして認可するだけで済みます。通常、クライアントの秘密の認証でアプリケーションを実行します。アプリケーションにはクライアントIDと秘密が与えられます。クライアントはそれを認証エンドポイントに送信し、トークンを戻します。そのトークンは、それを必要とする要求に対してAuthorizationヘッダーに渡されます。エンドユーザーにはシームレスなままで、実際に物理的にログインする必要はありません。

関連する問題