2 つのノード サーバーがあります。1 つは Web サイトを提供し、もう 1 つは Web サイトの背後にあるデータを強化する RESTful API を提供します。
ユーザーが Web サイトにログインすると、セッションが作成されます。これにより、ユーザーがログインしているかどうかに応じて、正しい HTML をユーザーに提供できます。
私の API は、一部のエンドポイントのユーザーを識別して承認する必要もあります。ただし、API は (ログイン セッションが作成されたサーバーとは) 別のサーバーで提供されるため、そのセッション データを再利用することはできません。さらに、RESTful API を公開したいのですが、この方法でセッション データを再利用すると、それが妨げられる可能性があります。パブリックとは、長期的には、外部の開発者が API リクエストとやり取りして承認できるようにしたいという意味です。PUT
一部のエンドポイントは (リソース上などで) 承認する必要がありますが、一部のエンドポイントUser
はすべての人が自由に見ることができるようにする必要があります (パブリックGET
、リソース上などUser
)。
これは初めての RESTful API であり、この方法で認証を扱ったことはありません。これらの詳細を念頭に置いて、認証レイヤーをどのように正確に設計する必要がありますか?
私はセッション トークンと OAuth について非常に簡単に理解していますが、これらのいずれかを含むソリューションをお持ちの場合は、これらがどのように連携して認証レイヤーを作成するかについて詳しく説明していただければ幸いです。さまざまなテクニックを学ぶのに役立つリソースへのリンクもいただければ幸いです。