RESTスタイルのサービスをモデル化するときは、リソースで考えます。リソースはuser
です。公開したいサービス(サービスを考えるとRPCスタイルが強制されるため悪い)は、認証され、後でAuthorization HTTPヘッダーで使用できるセキュリティトークンを取得します。パスワードを忘れて、パスワード機能を変更します。
まず、ベースURLで常に到達可能なリソースユーザーをモデル化します
https://server/user/{username}
認証するには、セキュリティトークンが必要です。これにより、セキュリティトークンを作成するユーザーのサブリソースにPOSTを発行できます。
POST https://server/user/{username}/securityToken
これにより、HTTP認証ヘッダーで使用できる新しいセキュリティトークンが発行されます。POST
ここでは、securityTokenをユーザーのある種のサブリソースとしてモデル化するため、リクエストを発行していますuser/someusername/securityToken
。セキュリティトークンの下で作成されたサブリソースを使用して、ユーザーに機能を公開し、成功または失敗したすべてのログイン要求を確認できます。
次に、忘れたパスワードをリクエストします。ここで重要なのはですrequest
。つまり、リクエストを発行し、ユーザーの新しいパスワードを忘れたリクエストサブリソースを作成します。サブリソースを作成するために、RESTスタイルは:を使用しPOST
ます
POST https://server/user/{username}/password/request
これにより、認証された場合にのみアクセス可能なすべてのパスワード要求のサブリソースを作成できます(必須ではありません)。したがって、ユーザーが時間の経過とともに発行されたすべてのパスワード要求を取得できるRESTスタイルのURLを公開できます。
ユーザーのパスワードサブリソースがあるため、パスワードを変更する最後の機能は非常に簡単ですPOST
。パスワードリソースに対してリクエストを発行できます。
POST https://server/user/{username}/password