web-dev-qa-db-ja.com

REST APIを使用してクライアントからサーバーにログインデータを渡すにはどうすればよいですか?

新しいセッションを作成したいのですが、新しいセッションは(自然に)ログインすることで作成されます。

ユーザー名とパスワードを渡す必要があります:

  • uRL経由(POSTへのリクエストsession?username=:username&password=:password
  • または代わりにヘッダーを使用する必要があります(たとえば-Authorization?)?

セッションが存在しないことを強調したいのですが、作成したいです。

4
sjaustirni

RESTfulインターフェースをステートレスに保つことをお勧めします。つまり、すべてのリクエストに対して、すべての認証情報を渡す必要があります。私は Basic Authentication (HTTPヘッダーの資格情報)を使用して大きな成功を収めました。

RESTfulインターフェースをステートレスに保つと、サーバーロジックとクライアントのロジックが大幅に簡素化されます。すべての要求は自律的であり、認証メカニズムに 一時的な結合 がありません。これにより、アプリケーションのテストが容易になり、セッションが期限切れになり、クライアントがそれを予期しないシナリオに遭遇することはありません。

6
Matthew