分かりやすくするために、実装では認証と認可に焦点をあてています。サンプルからも分かるとおり、入力のタイムシートエントリーはハードコードされるため、APIはタイムシートエントリーを保持しません。代わりに、情報の一部をエコーバックします。
APIエンドポイントを定義する
/ordersや/customersなどのエンドポイントがあるかもしれません。このAPIに接続するアプリケーションは、関連するHTTPメソッド(POST、GET、PUT、PATCH、DELETE)を使ってAPIエンドポイントを呼び出すことにより、CRUD操作(作成、読み取り、更新、削除)を実行することができます。
ExampleCoのTimesheets APIでは、エンドポイントを構成してタイムシートエントリを作成する必要があります。
| HTTPメソッド | APIエンドポイント | 説明 |
|---|---|---|
POST | /timesheets/upload | 新しいタイムシートエントリを作成する |
HTTP 201 Createdステータスコードともに、JSONオブジェクトを含んだボディーを返します。このJSONオブジェクトには、新規作成されたタイムシートを記述するメッセージプロパティが含まれています。
Node.jsでの実装を参照してください。
APIエンドポイントを保護する
HTTP 401 Unauthorizedステータスコードを送信します。
Node.js での実装を参照してください。
アクセストークン取得する
アプリケーションの権限を確認する
scope要求パラメーターを使って定義されます。これを構成する方法については、「スコープを構成する」記述のある段落をお読みください。
エンドポイントには、batch:uploadスコープが必要です。
Node.js での実装を参照してください。
マシンツーマシンアプリケーションを実装する
アクセストークン取得する
まず、Auth0の/oauth/token APIエンドポイントを呼び出して、アクセストークンを取得します。
このためには、アプリケーションの設定にある以下の構成値が必要です。
- Domain(ドメイン) :Auth0ドメイン(テナント識別子でもある)です。この値は、APIのURL「
https://{yourTenant}/oauth/token」の一部になります。 - (オーディエンス) :API識別子です。
- (クライアントID) :Auth0アプリケーションのクライアントIDです。
- (クライアントシークレット) :Auth0アプリケーションのクライアントシークレットです。
POST操作をhttps://{yourDomain}/oauth/tokenエンドポイントに対して行います。
APIを呼び出す
- コードに埋め込まれたタイムシートエントリをJSON形式で構築する
- アクセストークンを
Authorizationヘッダーとして要求に追加する - HTTP
POST要求を行う - 応答を解析し、ターミナルに出力する(任意)