@leaflow/sdk 0.0.0-dev.513.g3807ace → 0.0.0-dev.516.g28eeab9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account/v1/generated/functions.d.ts +117 -1
- package/dist/account/v1/generated/functions.js +104 -0
- package/dist/account/v1/generated/models.d.ts +85 -0
- package/dist/account/v1/generated/models.js +9 -0
- package/dist/account/v1/generated/schemas.zod.d.ts +68 -0
- package/dist/account/v1/generated/schemas.zod.js +76 -0
- package/dist/account/v1/generated/validators/acceptConsentsRequestBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/acceptConsentsRequestBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/acceptInvitationByTokenRequestBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/acceptInvitationByTokenRequestBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/acceptedInvitationResponseBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/acceptedInvitationResponseBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/accountDeletionObjectionResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/accountDeletionObjectionResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/accountDeletionResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/accountDeletionResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/accountDeletionState.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/accountDeletionState.zod.js +18 -0
- package/dist/account/v1/generated/validators/accountResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/accountResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/agreementListResponseBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/agreementListResponseBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/agreementResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/agreementResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/applicationResource.zod.d.ts +60 -0
- package/dist/account/v1/generated/validators/applicationResource.zod.js +60 -0
- package/dist/account/v1/generated/validators/authorizeApplicationRequestBody.zod.d.ts +55 -0
- package/dist/account/v1/generated/validators/authorizeApplicationRequestBody.zod.js +53 -0
- package/dist/account/v1/generated/validators/authorizedApplicationResource.zod.d.ts +93 -0
- package/dist/account/v1/generated/validators/authorizedApplicationResource.zod.js +59 -0
- package/dist/account/v1/generated/validators/consentBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/consentBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/consentListResponseBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/consentListResponseBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/consentResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/consentResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/countryOption.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/countryOption.zod.js +18 -0
- package/dist/account/v1/generated/validators/createProjectRequestBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/createProjectRequestBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/createSSHKeyRequestBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/createSSHKeyRequestBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/cursorPagination.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/cursorPagination.zod.js +18 -0
- package/dist/account/v1/generated/validators/error.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/error.zod.js +18 -0
- package/dist/account/v1/generated/validators/errorStatus.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/errorStatus.zod.js +18 -0
- package/dist/account/v1/generated/validators/fieldViolation.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/fieldViolation.zod.js +18 -0
- package/dist/account/v1/generated/validators/grantResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/grantResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/identityVerificationResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/identityVerificationResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/invitationPreviewResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/invitationPreviewResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/invitationResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/invitationResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/languageOption.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/languageOption.zod.js +18 -0
- package/dist/account/v1/generated/validators/lengthAwarePageAuthorizedApplicationResource.zod.d.ts +98 -0
- package/dist/account/v1/generated/validators/lengthAwarePageAuthorizedApplicationResource.zod.js +55 -0
- package/dist/account/v1/generated/validators/lengthAwarePageInvitationResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/lengthAwarePageInvitationResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/lengthAwarePageProjectAccessResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/lengthAwarePageProjectAccessResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/lengthAwarePageSSHKeyResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/lengthAwarePageSSHKeyResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/listAuthorizedApplicationsParams.zod.d.ts +59 -0
- package/dist/account/v1/generated/validators/listAuthorizedApplicationsParams.zod.js +65 -0
- package/dist/account/v1/generated/validators/listMyInvitationsParams.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/listMyInvitationsParams.zod.js +18 -0
- package/dist/account/v1/generated/validators/listProjectsParams.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/listProjectsParams.zod.js +18 -0
- package/dist/account/v1/generated/validators/listSshKeysParams.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/listSshKeysParams.zod.js +18 -0
- package/dist/account/v1/generated/validators/locale.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/locale.zod.js +18 -0
- package/dist/account/v1/generated/validators/localeOptionsResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/localeOptionsResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/offsetPagination.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/offsetPagination.zod.js +18 -0
- package/dist/account/v1/generated/validators/previewInvitationByTokenParams.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/previewInvitationByTokenParams.zod.js +18 -0
- package/dist/account/v1/generated/validators/projectAccessList.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/projectAccessList.zod.js +18 -0
- package/dist/account/v1/generated/validators/projectAccessResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/projectAccessResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/projectResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/projectResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/projectSlugAvailabilityResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/projectSlugAvailabilityResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/projectStatus.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/projectStatus.zod.js +18 -0
- package/dist/account/v1/generated/validators/projectTraitResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/projectTraitResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/registerRequestBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/registerRequestBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/renameSSHKeyRequestBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/renameSSHKeyRequestBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/requestAccountDeletionParams.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/requestAccountDeletionParams.zod.js +18 -0
- package/dist/account/v1/generated/validators/resourceRefResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/resourceRefResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/ruleResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/ruleResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/sSHKeyResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/sSHKeyResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/scopedTokenResponseBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/scopedTokenResponseBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/searchProjectsRequestBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/searchProjectsRequestBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/settingsResource.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/settingsResource.zod.js +18 -0
- package/dist/account/v1/generated/validators/submitIdentityVerificationRequestBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/submitIdentityVerificationRequestBody.zod.js +18 -0
- package/dist/account/v1/generated/validators/updateAccountRequestBody.zod.d.ts +18 -0
- package/dist/account/v1/generated/validators/updateAccountRequestBody.zod.js +18 -0
- package/dist/compute/v2/generated/functions.d.ts +4 -2
- package/dist/compute/v2/generated/functions.js +3 -18
- package/dist/compute/v2/generated/models.d.ts +28 -8
- package/dist/compute/v2/generated/schemas.zod.d.ts +6 -3
- package/dist/compute/v2/generated/schemas.zod.js +2 -2
- package/dist/compute/v2/generated/validators/createInstanceRequestBody.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/createInstanceRequestBody.zod.js +4 -0
- package/dist/compute/v2/generated/validators/createInstanceResponseBody.zod.d.ts +3 -0
- package/dist/compute/v2/generated/validators/createLaunchTemplateRequestBody.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/createLaunchTemplateResponseBody.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/createPrivateImageResponseBody.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/deleteInstanceResponseBody.zod.d.ts +3 -0
- package/dist/compute/v2/generated/validators/deletePrivateImageResponseBody.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/instance.zod.d.ts +3 -0
- package/dist/compute/v2/generated/validators/instance.zod.js +10 -0
- package/dist/compute/v2/generated/validators/instanceListResponseBody.zod.d.ts +3 -0
- package/dist/compute/v2/generated/validators/launchTemplateVersion.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/launchTemplateVersion.zod.js +4 -0
- package/dist/compute/v2/generated/validators/launchTemplateVersionListResponseBody.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/newLaunchTemplateVersion.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/newLaunchTemplateVersion.zod.js +4 -0
- package/dist/compute/v2/generated/validators/privateImageListResponseBody.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/privateImageResource.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/privateImageResource.zod.js +3 -0
- package/dist/compute/v2/generated/validators/publicImageListResponseBody.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/publicImageResource.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/publicImageResource.zod.js +3 -0
- package/dist/compute/v2/generated/validators/rebuildInstanceRequestBody.zod.d.ts +1 -0
- package/dist/compute/v2/generated/validators/rebuildInstanceRequestBody.zod.js +4 -0
- package/dist/compute/v2/generated/validators/rebuildInstanceResponseBody.zod.d.ts +3 -0
- package/dist/compute/v2/generated/validators/rescueInstanceResponseBody.zod.d.ts +3 -0
- package/dist/compute/v2/generated/validators/updateInstanceResponseBody.zod.d.ts +3 -0
- package/dist/iam/v1/generated/functions.d.ts +9 -2
- package/dist/iam/v1/generated/functions.js +9 -2
- package/dist/iam/v1/generated/models.d.ts +1 -1
- package/dist/iam/v1/generated/schemas.zod.d.ts +9 -2
- package/dist/iam/v1/generated/schemas.zod.js +9 -2
- package/dist/iam/v1/generated/validators/createApplicationRequestBody.zod.js +1 -1
- package/dist/proto/leaflow/fleet/virtualdesktop/datatransfer/v1/datatransfer_pb.d.ts +38 -1
- package/dist/routes.d.ts +32 -0
- package/dist/routes.js +36 -0
- package/package.json +1 -1
- package/dist/compute/v2/generated/validators/rescueInstanceRequestBody.zod.d.ts +0 -42
- package/dist/compute/v2/generated/validators/rescueInstanceRequestBody.zod.js +0 -44
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|
|
@@ -16,6 +16,24 @@
|
|
|
16
16
|
*
|
|
17
17
|
* A scoped token cannot be renewed. Repeat step 2 for a new one, and sign in again at auth.leaflow.net once the access token itself has expired.
|
|
18
18
|
*
|
|
19
|
+
* ## Applications
|
|
20
|
+
*
|
|
21
|
+
* An application registered by a project signs its users in at auth.leaflow.net in the same manner as any other OAuth client. To call the Leaflow API on behalf of a user, the application requests the `iam` scope, and the user must then authorize the application for each project in which it is to act:
|
|
22
|
+
*
|
|
23
|
+
* 1. The application directs the user to the authorization page of the console:
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* https://console.leaflow.net/applications/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&state=<state>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* All three parameters are required. The `redirect_uri` is URL-encoded and must exactly match one of the redirect URIs registered for the application; a custom scheme registered for a public application is accepted in the same way. If a parameter is missing, if the `redirect_uri` does not match, or if the application does not exist or is not active, the page reports the problem to the user and does not redirect. A user who is not signed in, or who has not yet completed registration and accepted the agreements, does so first and then returns to the page.
|
|
30
|
+
* 2. The user selects a project and confirms the authorization. The console calls `POST /account/v1/me/authorized-applications` and returns the user to the `redirect_uri` with the query parameters `project_id` and `state`. If the user declines, the console returns the user to the `redirect_uri` with `error=access_denied` and `state`. In both cases the existing query parameters of the `redirect_uri` are retained, and a parameter of the same name is replaced. The application must verify that `state` equals the value it supplied before it uses the response.
|
|
31
|
+
* 3. The application exchanges its access token for a scoped token at `POST /account/v1/projects/{projectId}/scoped-tokens`, as described in the preceding section.
|
|
32
|
+
*
|
|
33
|
+
* Within an authorized project, the application holds exactly the permissions of the user in that project and none beyond them. The user may revoke an authorization at any time at https://console.leaflow.net/account/applications, and an authorization ends when the user leaves the project.
|
|
34
|
+
*
|
|
35
|
+
* An access token issued to an application is accepted only by `create-scoped-token`, `list-authorized-applications` and `revoke-authorized-application`. Every other endpoint rejects it with 403 `APPLICATION_TOKEN_NOT_ACCEPTED`; consequently, an application cannot authorize itself.
|
|
36
|
+
*
|
|
19
37
|
* ## SSH keys
|
|
20
38
|
*
|
|
21
39
|
* The SSH keys of an account belong to its holder rather than to any project, and a key is active on one account at most. Keys shared by a project, such as one used by CI, belong to the project instead and are managed through the IAM API.
|