@structured-id/ui-core 1.2.0 → 2.0.0
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/README.md +9 -5
- package/dist/browser-vp/index.d.cts +0 -11
- package/dist/browser-vp/index.d.ts +0 -11
- package/dist/index.cjs +13721 -9514
- package/dist/index.d.cts +4362 -2375
- package/dist/index.d.ts +4362 -2375
- package/dist/index.js +13937 -9730
- package/package.json +3 -3
- package/src/browser-vp/crypto.ts +0 -1
- package/src/browser-vp/index.ts +0 -2
- package/src/browser-vp/prf.ts +0 -2
- package/src/browser-vp/storage.ts +0 -2
- package/src/browser-vp/types.ts +0 -2
- package/src/browser-vp/vp.ts +0 -2
- package/src/composables/index.ts +6 -1
- package/src/composables/useAccountTransport.test.ts +121 -0
- package/src/composables/useAccountTransport.ts +69 -0
- package/src/composables/useBffAuth.ts +44 -34
- package/src/generated/google/api/httpbody.ts +159 -0
- package/src/generated/google/protobuf/any.ts +326 -0
- package/src/generated/google/rpc/error_details.ts +1386 -0
- package/src/generated/google/rpc/status.ts +127 -0
- package/src/generated/sid/v1/account/account.ts +1 -1
- package/src/generated/sid/v1/admin/admin.client.ts +15 -12
- package/src/generated/sid/v1/admin/admin.ts +24 -89
- package/src/generated/sid/v1/admin/enrollment.client.ts +24 -12
- package/src/generated/sid/v1/admin/enrollment.ts +65 -3
- package/src/generated/sid/v1/admin/events.client.ts +8 -8
- package/src/generated/sid/v1/admin/flow.ts +1 -1
- package/src/generated/sid/v1/admin/keys.ts +1 -1
- package/src/generated/sid/v1/admin/notifications.client.ts +12 -6
- package/src/generated/sid/v1/admin/notifications.ts +11 -70
- package/src/generated/sid/v1/admin/operations.ts +20 -35
- package/src/generated/sid/v1/admin/organizations.client.ts +2 -2
- package/src/generated/sid/v1/admin/organizations.ts +15 -32
- package/src/generated/sid/v1/admin/provisioning.client.ts +232 -0
- package/src/generated/sid/v1/admin/provisioning.ts +1383 -0
- package/src/generated/sid/v1/admin/scopes.ts +1 -1
- package/src/generated/sid/v1/admin/security.client.ts +22 -24
- package/src/generated/sid/v1/admin/security.ts +13 -22
- package/src/generated/sid/v1/admin/settings.client.ts +29 -18
- package/src/generated/sid/v1/admin/settings.ts +2 -82
- package/src/generated/sid/v1/attestation/attestation.client.ts +6 -6
- package/src/generated/sid/v1/attestation/attestation.ts +8 -8
- package/src/generated/sid/v1/authn/auth.client.ts +101 -58
- package/src/generated/sid/v1/authn/auth.ts +842 -414
- package/src/generated/sid/v1/authn/flows.ts +0 -12
- package/src/generated/sid/v1/authn/issuer.client.ts +489 -0
- package/src/generated/sid/v1/authn/issuer.ts +1600 -0
- package/src/generated/sid/v1/authn/password_history.client.ts +57 -0
- package/src/generated/sid/v1/authn/password_history.ts +578 -0
- package/src/generated/sid/v1/authn/system_integration.client.ts +73 -0
- package/src/generated/sid/v1/authn/system_integration.ts +218 -0
- package/src/generated/sid/v1/authz/authz.ts +1498 -317
- package/src/generated/sid/v1/authz/forward_auth.client.ts +97 -0
- package/src/generated/sid/v1/authz/forward_auth.ts +79 -0
- package/src/generated/sid/v1/authz/governance.client.ts +2 -2
- package/src/generated/sid/v1/authz/governance.ts +61 -4
- package/src/generated/sid/v1/common/errors.ts +532 -6
- package/src/generated/sid/v1/events/event_stream.client.ts +2 -2
- package/src/generated/sid/v1/events/event_stream.ts +2 -1
- package/src/generated/sid/v1/identity/identity.ts +98 -58
- package/src/generated/sid/v1/ids/ids.ts +395 -0
- package/src/generated/sid/v1/machine/machine_user.ts +0 -36
- package/src/generated/sid/v1/machine/pat.client.ts +2 -19
- package/src/generated/sid/v1/machine/pat.ts +1 -186
- package/src/generated/sid/v1/projects/projects.client.ts +137 -19
- package/src/generated/sid/v1/projects/projects.ts +2105 -405
- package/src/generated/sid/v1/scim/scim.client.ts +248 -2
- package/src/generated/sid/v1/scim/scim.ts +153 -14
- package/src/generated/sid/v1/test/test.ts +1 -1
- package/src/i18n/index.ts +0 -11
- package/src/index.ts +36 -2
- package/src/package-exports.test.ts +18 -0
- package/src/profile/components/SidLoginForm.vue +5 -2
- package/src/profile/components/SidRegistrationForm.test.ts +58 -1
- package/src/profile/components/SidRegistrationForm.vue +110 -12
- package/src/profile/components/index.ts +4 -0
- package/src/profile/composables/index.ts +2 -1
- package/src/profile/composables/useAccountApi.ts +20 -7
- package/src/profile/composables/useAuth.test.ts +453 -0
- package/src/profile/composables/useAuth.ts +414 -0
- package/src/profile/composables/useAuthApi.opaque.test.ts +18 -0
- package/src/profile/composables/useAuthApi.ts +188 -20
- package/src/profile/composables/useEnrollmentApi.test.ts +33 -0
- package/src/profile/composables/useEnrollmentApi.ts +26 -0
- package/src/profile/composables/useIdentityApi.ts +17 -7
- package/src/profile/composables/useLoginSuccess.test.ts +97 -3
- package/src/profile/composables/useLoginSuccess.ts +80 -22
- package/src/profile/composables/useSecurityLevel.test.ts +10 -3
- package/src/profile/composables/useSecurityLevel.ts +12 -3
- package/src/quasar/SidPrincipalInput.vue +4 -7
- package/src/utils/normalizePrincipal.test.ts +19 -5
- package/src/utils/normalizePrincipal.ts +7 -9
- package/src/utils/rpcRefusal.test.ts +151 -0
- package/src/utils/rpcRefusal.ts +252 -0
- package/src/utils/validators.test.ts +9 -0
- package/src/utils/validators.ts +14 -2
- package/src/composables/useAuth.ts +0 -40
- package/src/profile/composables/useOpaqueAuth.test.ts +0 -290
- package/src/profile/composables/useOpaqueAuth.ts +0 -191
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
// @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
|
|
2
|
+
// @generated from protobuf file "sid/v1/authz/forward_auth.proto" (package "sid.v1.authz", syntax proto3)
|
|
3
|
+
// tslint:disable
|
|
4
|
+
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
|
|
5
|
+
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
|
|
6
|
+
import { ForwardAuthService } from "./forward_auth";
|
|
7
|
+
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
|
|
8
|
+
import type { HttpBody } from "../../../google/api/httpbody";
|
|
9
|
+
import type { VerifyRequest } from "./forward_auth";
|
|
10
|
+
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
|
|
11
|
+
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
|
|
12
|
+
/**
|
|
13
|
+
* @generated from protobuf service sid.v1.authz.ForwardAuthService
|
|
14
|
+
*/
|
|
15
|
+
export interface IForwardAuthServiceClient {
|
|
16
|
+
/**
|
|
17
|
+
* Decide whether the original request may reach `application`.
|
|
18
|
+
*
|
|
19
|
+
* The reverse proxy sub-requests `/auth/verify/{application}` with the
|
|
20
|
+
* original request's method, so the rule binds every method. The
|
|
21
|
+
* application comes from the address the proxy is configured with, never
|
|
22
|
+
* from anything the client sends; it names a protected application of the
|
|
23
|
+
* route configuration, which pins the registered resource (exact issuer
|
|
24
|
+
* and resource indicator) its access tokens must be issued for.
|
|
25
|
+
*
|
|
26
|
+
* Request metadata, as the proxy forwards the original request:
|
|
27
|
+
* `authorization` (`Bearer`, RFC 6750 §2.1, or `DPoP`, RFC 9449 §7.1),
|
|
28
|
+
* `dpop` (the proof, RFC 9449 §4), `x-original-uri` or `x-forwarded-uri`
|
|
29
|
+
* (path and query), `x-original-method` or `x-forwarded-method`.
|
|
30
|
+
*
|
|
31
|
+
* The decision is the HTTP answer the proxy acts on, carried in the
|
|
32
|
+
* `x-http-code` response metadata with an empty body:
|
|
33
|
+
* - 200: allowed; response metadata carries the identity headers of the
|
|
34
|
+
* route (`x-forwarded-user` = the token's recipient-scoped `sub`,
|
|
35
|
+
* `x-auth-request-*` for disclosed claims), which the proxy copies to
|
|
36
|
+
* the upstream request after removing any client-supplied copies;
|
|
37
|
+
* - 401: no acceptable access token for this application, with
|
|
38
|
+
* `www-authenticate` (a DPoP challenge when a sender constraint failed,
|
|
39
|
+
* RFC 9449 §7.1) and, when a login URL is configured, `location`;
|
|
40
|
+
* - 403: authenticated but not allowed, or the application's resource is
|
|
41
|
+
* not registered or not active.
|
|
42
|
+
* An application not in the route configuration is NOT_FOUND (ErrorInfo
|
|
43
|
+
* reason FORWARD_AUTH_APPLICATION_NOT_FOUND, ResourceInfo naming it); a
|
|
44
|
+
* registry or revocation check that cannot be answered is UNAVAILABLE. The
|
|
45
|
+
* proxy denies on both.
|
|
46
|
+
*
|
|
47
|
+
* @generated from protobuf rpc: Verify
|
|
48
|
+
*/
|
|
49
|
+
verify(input: VerifyRequest, options?: RpcOptions): UnaryCall<VerifyRequest, HttpBody>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @generated from protobuf service sid.v1.authz.ForwardAuthService
|
|
53
|
+
*/
|
|
54
|
+
export class ForwardAuthServiceClient implements IForwardAuthServiceClient, ServiceInfo {
|
|
55
|
+
typeName = ForwardAuthService.typeName;
|
|
56
|
+
methods = ForwardAuthService.methods;
|
|
57
|
+
options = ForwardAuthService.options;
|
|
58
|
+
constructor(private readonly _transport: RpcTransport) {
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Decide whether the original request may reach `application`.
|
|
62
|
+
*
|
|
63
|
+
* The reverse proxy sub-requests `/auth/verify/{application}` with the
|
|
64
|
+
* original request's method, so the rule binds every method. The
|
|
65
|
+
* application comes from the address the proxy is configured with, never
|
|
66
|
+
* from anything the client sends; it names a protected application of the
|
|
67
|
+
* route configuration, which pins the registered resource (exact issuer
|
|
68
|
+
* and resource indicator) its access tokens must be issued for.
|
|
69
|
+
*
|
|
70
|
+
* Request metadata, as the proxy forwards the original request:
|
|
71
|
+
* `authorization` (`Bearer`, RFC 6750 §2.1, or `DPoP`, RFC 9449 §7.1),
|
|
72
|
+
* `dpop` (the proof, RFC 9449 §4), `x-original-uri` or `x-forwarded-uri`
|
|
73
|
+
* (path and query), `x-original-method` or `x-forwarded-method`.
|
|
74
|
+
*
|
|
75
|
+
* The decision is the HTTP answer the proxy acts on, carried in the
|
|
76
|
+
* `x-http-code` response metadata with an empty body:
|
|
77
|
+
* - 200: allowed; response metadata carries the identity headers of the
|
|
78
|
+
* route (`x-forwarded-user` = the token's recipient-scoped `sub`,
|
|
79
|
+
* `x-auth-request-*` for disclosed claims), which the proxy copies to
|
|
80
|
+
* the upstream request after removing any client-supplied copies;
|
|
81
|
+
* - 401: no acceptable access token for this application, with
|
|
82
|
+
* `www-authenticate` (a DPoP challenge when a sender constraint failed,
|
|
83
|
+
* RFC 9449 §7.1) and, when a login URL is configured, `location`;
|
|
84
|
+
* - 403: authenticated but not allowed, or the application's resource is
|
|
85
|
+
* not registered or not active.
|
|
86
|
+
* An application not in the route configuration is NOT_FOUND (ErrorInfo
|
|
87
|
+
* reason FORWARD_AUTH_APPLICATION_NOT_FOUND, ResourceInfo naming it); a
|
|
88
|
+
* registry or revocation check that cannot be answered is UNAVAILABLE. The
|
|
89
|
+
* proxy denies on both.
|
|
90
|
+
*
|
|
91
|
+
* @generated from protobuf rpc: Verify
|
|
92
|
+
*/
|
|
93
|
+
verify(input: VerifyRequest, options?: RpcOptions): UnaryCall<VerifyRequest, HttpBody> {
|
|
94
|
+
const method = this.methods[0], opt = this._transport.mergeOptions(options);
|
|
95
|
+
return stackIntercept<VerifyRequest, HttpBody>("unary", this._transport, method, opt, input);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
|
|
2
|
+
// @generated from protobuf file "sid/v1/authz/forward_auth.proto" (package "sid.v1.authz", syntax proto3)
|
|
3
|
+
// tslint:disable
|
|
4
|
+
import { HttpBody } from "../../../google/api/httpbody";
|
|
5
|
+
import { ServiceType } from "@protobuf-ts/runtime-rpc";
|
|
6
|
+
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
|
|
7
|
+
import type { IBinaryWriter } from "@protobuf-ts/runtime";
|
|
8
|
+
import { WireType } from "@protobuf-ts/runtime";
|
|
9
|
+
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
|
|
10
|
+
import type { IBinaryReader } from "@protobuf-ts/runtime";
|
|
11
|
+
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
|
|
12
|
+
import type { PartialMessage } from "@protobuf-ts/runtime";
|
|
13
|
+
import { reflectionMergePartial } from "@protobuf-ts/runtime";
|
|
14
|
+
import { MessageType } from "@protobuf-ts/runtime";
|
|
15
|
+
/**
|
|
16
|
+
* @generated from protobuf message sid.v1.authz.VerifyRequest
|
|
17
|
+
*/
|
|
18
|
+
export interface VerifyRequest {
|
|
19
|
+
/**
|
|
20
|
+
* Name of the protected application in the route configuration: letters,
|
|
21
|
+
* digits, '-' and '_'. Set by the reverse proxy's configured address.
|
|
22
|
+
*
|
|
23
|
+
* @generated from protobuf field: string application = 1
|
|
24
|
+
*/
|
|
25
|
+
application: string;
|
|
26
|
+
}
|
|
27
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
28
|
+
class VerifyRequest$Type extends MessageType<VerifyRequest> {
|
|
29
|
+
constructor() {
|
|
30
|
+
super("sid.v1.authz.VerifyRequest", [
|
|
31
|
+
{ no: 1, name: "application", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
|
|
32
|
+
]);
|
|
33
|
+
}
|
|
34
|
+
create(value?: PartialMessage<VerifyRequest>): VerifyRequest {
|
|
35
|
+
const message = globalThis.Object.create((this.messagePrototype!));
|
|
36
|
+
message.application = "";
|
|
37
|
+
if (value !== undefined)
|
|
38
|
+
reflectionMergePartial<VerifyRequest>(this, message, value);
|
|
39
|
+
return message;
|
|
40
|
+
}
|
|
41
|
+
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VerifyRequest): VerifyRequest {
|
|
42
|
+
let message = target ?? this.create(), end = reader.pos + length;
|
|
43
|
+
while (reader.pos < end) {
|
|
44
|
+
let [fieldNo, wireType] = reader.tag();
|
|
45
|
+
switch (fieldNo) {
|
|
46
|
+
case /* string application */ 1:
|
|
47
|
+
message.application = reader.string();
|
|
48
|
+
break;
|
|
49
|
+
default:
|
|
50
|
+
let u = options.readUnknownField;
|
|
51
|
+
if (u === "throw")
|
|
52
|
+
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
|
53
|
+
let d = reader.skip(wireType);
|
|
54
|
+
if (u !== false)
|
|
55
|
+
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return message;
|
|
59
|
+
}
|
|
60
|
+
internalBinaryWrite(message: VerifyRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
61
|
+
/* string application = 1; */
|
|
62
|
+
if (message.application !== "")
|
|
63
|
+
writer.tag(1, WireType.LengthDelimited).string(message.application);
|
|
64
|
+
let u = options.writeUnknownFields;
|
|
65
|
+
if (u !== false)
|
|
66
|
+
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
67
|
+
return writer;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @generated MessageType for protobuf message sid.v1.authz.VerifyRequest
|
|
72
|
+
*/
|
|
73
|
+
export const VerifyRequest = new VerifyRequest$Type();
|
|
74
|
+
/**
|
|
75
|
+
* @generated ServiceType for protobuf service sid.v1.authz.ForwardAuthService
|
|
76
|
+
*/
|
|
77
|
+
export const ForwardAuthService = new ServiceType("sid.v1.authz.ForwardAuthService", [
|
|
78
|
+
{ name: "Verify", options: { "google.api.http": { custom: { kind: "*", path: "/auth/verify/{application}" } } }, I: VerifyRequest, O: HttpBody }
|
|
79
|
+
]);
|
|
@@ -16,7 +16,7 @@ import type { AccessRequestMessage } from "./governance";
|
|
|
16
16
|
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
|
|
17
17
|
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
|
|
18
18
|
// ────────────────────────────────────────────────────────────────────────────
|
|
19
|
-
// GovernanceService
|
|
19
|
+
// GovernanceService: access lifecycle (4 RPCs)
|
|
20
20
|
// SoD checks + role assignment listing → AuthzService (authz.proto)
|
|
21
21
|
// ────────────────────────────────────────────────────────────────────────────
|
|
22
22
|
|
|
@@ -50,7 +50,7 @@ export interface IGovernanceServiceClient {
|
|
|
50
50
|
grantTemporaryRole(input: GrantTemporaryRoleRequest, options?: RpcOptions): UnaryCall<GrantTemporaryRoleRequest, GrantTemporaryRoleResponse>;
|
|
51
51
|
}
|
|
52
52
|
// ────────────────────────────────────────────────────────────────────────────
|
|
53
|
-
// GovernanceService
|
|
53
|
+
// GovernanceService: access lifecycle (4 RPCs)
|
|
54
54
|
// SoD checks + role assignment listing → AuthzService (authz.proto)
|
|
55
55
|
// ────────────────────────────────────────────────────────────────────────────
|
|
56
56
|
|
|
@@ -24,21 +24,39 @@ import { Duration } from "../../../google/protobuf/duration";
|
|
|
24
24
|
*/
|
|
25
25
|
export interface AccessRequestMessage {
|
|
26
26
|
/**
|
|
27
|
+
* Profile asking for the role (UUID). The caller itself, or anyone when an
|
|
28
|
+
* administrator files the request on its behalf.
|
|
29
|
+
*
|
|
27
30
|
* @generated from protobuf field: string requester_profile_id = 1
|
|
28
31
|
*/
|
|
29
32
|
requesterProfileId: string;
|
|
30
33
|
/**
|
|
34
|
+
* Key of the requested role within `project_id`. A role the project does
|
|
35
|
+
* not define is NOT_FOUND; nothing is stored.
|
|
36
|
+
*
|
|
31
37
|
* @generated from protobuf field: string requested_role = 2
|
|
32
38
|
*/
|
|
33
39
|
requestedRole: string;
|
|
34
40
|
/**
|
|
41
|
+
* Why the requester needs the role, shown to the approver.
|
|
42
|
+
*
|
|
35
43
|
* @generated from protobuf field: string justification = 3
|
|
36
44
|
*/
|
|
37
45
|
justification: string;
|
|
38
46
|
/**
|
|
47
|
+
* How long the role is wanted; absent = permanent. On approval the
|
|
48
|
+
* assignment expires after it.
|
|
49
|
+
*
|
|
39
50
|
* @generated from protobuf field: optional google.protobuf.Duration requested_duration = 4
|
|
40
51
|
*/
|
|
41
|
-
requestedDuration?: Duration;
|
|
52
|
+
requestedDuration?: Duration;
|
|
53
|
+
/**
|
|
54
|
+
* Project (UUID) whose role is requested: roles are defined per project.
|
|
55
|
+
* An unknown project is NOT_FOUND.
|
|
56
|
+
*
|
|
57
|
+
* @generated from protobuf field: string project_id = 5
|
|
58
|
+
*/
|
|
59
|
+
projectId: string;
|
|
42
60
|
}
|
|
43
61
|
/**
|
|
44
62
|
* @generated from protobuf message sid.v1.authz.AccessRequestResponse
|
|
@@ -125,17 +143,26 @@ export interface AccessRequestDetail {
|
|
|
125
143
|
*/
|
|
126
144
|
export interface DecideRequestRequest {
|
|
127
145
|
/**
|
|
146
|
+
* Access request (UUID) being decided.
|
|
147
|
+
*
|
|
128
148
|
* @generated from protobuf field: string request_id = 1
|
|
129
149
|
*/
|
|
130
150
|
requestId: string;
|
|
131
151
|
/**
|
|
152
|
+
* Approve (grant the role) or deny. An approval and the role assignment it
|
|
153
|
+
* makes are recorded together: when the role can no longer be assigned
|
|
154
|
+
* (it was deleted) the call fails FAILED_PRECONDITION and the request
|
|
155
|
+
* stays pending.
|
|
156
|
+
*
|
|
132
157
|
* @generated from protobuf field: bool approved = 2
|
|
133
158
|
*/
|
|
134
159
|
approved: boolean;
|
|
135
160
|
/**
|
|
161
|
+
* Reviewer's comment, recorded on the request.
|
|
162
|
+
*
|
|
136
163
|
* @generated from protobuf field: string reason = 3
|
|
137
164
|
*/
|
|
138
|
-
reason: string;
|
|
165
|
+
reason: string;
|
|
139
166
|
}
|
|
140
167
|
/**
|
|
141
168
|
* @generated from protobuf message sid.v1.authz.DecideRequestResponse
|
|
@@ -159,21 +186,35 @@ export interface DecideRequestResponse {
|
|
|
159
186
|
*/
|
|
160
187
|
export interface GrantTemporaryRoleRequest {
|
|
161
188
|
/**
|
|
189
|
+
* Profile receiving the role (UUID); an unknown profile is NOT_FOUND.
|
|
190
|
+
*
|
|
162
191
|
* @generated from protobuf field: string profile_id = 1
|
|
163
192
|
*/
|
|
164
193
|
profileId: string;
|
|
165
194
|
/**
|
|
195
|
+
* Key of the role within `project_id`; an unknown role is NOT_FOUND.
|
|
196
|
+
*
|
|
166
197
|
* @generated from protobuf field: string role = 2
|
|
167
198
|
*/
|
|
168
199
|
role: string;
|
|
169
200
|
/**
|
|
201
|
+
* When the assignment is revoked automatically; must be in the future.
|
|
202
|
+
*
|
|
170
203
|
* @generated from protobuf field: google.protobuf.Timestamp expires_at = 3
|
|
171
204
|
*/
|
|
172
205
|
expiresAt?: Timestamp;
|
|
173
206
|
/**
|
|
207
|
+
* Why the role is granted, recorded in the audit trail.
|
|
208
|
+
*
|
|
174
209
|
* @generated from protobuf field: string justification = 4
|
|
175
210
|
*/
|
|
176
211
|
justification: string;
|
|
212
|
+
/**
|
|
213
|
+
* Project (UUID) whose role is granted: roles are defined per project.
|
|
214
|
+
*
|
|
215
|
+
* @generated from protobuf field: string project_id = 5
|
|
216
|
+
*/
|
|
217
|
+
projectId: string;
|
|
177
218
|
}
|
|
178
219
|
/**
|
|
179
220
|
* @generated from protobuf message sid.v1.authz.GrantTemporaryRoleResponse
|
|
@@ -232,7 +273,8 @@ class AccessRequestMessage$Type extends MessageType<AccessRequestMessage> {
|
|
|
232
273
|
{ no: 1, name: "requester_profile_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
233
274
|
{ no: 2, name: "requested_role", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
234
275
|
{ no: 3, name: "justification", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
235
|
-
{ no: 4, name: "requested_duration", kind: "message", T: () => Duration }
|
|
276
|
+
{ no: 4, name: "requested_duration", kind: "message", T: () => Duration },
|
|
277
|
+
{ no: 5, name: "project_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
|
|
236
278
|
]);
|
|
237
279
|
}
|
|
238
280
|
create(value?: PartialMessage<AccessRequestMessage>): AccessRequestMessage {
|
|
@@ -240,6 +282,7 @@ class AccessRequestMessage$Type extends MessageType<AccessRequestMessage> {
|
|
|
240
282
|
message.requesterProfileId = "";
|
|
241
283
|
message.requestedRole = "";
|
|
242
284
|
message.justification = "";
|
|
285
|
+
message.projectId = "";
|
|
243
286
|
if (value !== undefined)
|
|
244
287
|
reflectionMergePartial<AccessRequestMessage>(this, message, value);
|
|
245
288
|
return message;
|
|
@@ -261,6 +304,9 @@ class AccessRequestMessage$Type extends MessageType<AccessRequestMessage> {
|
|
|
261
304
|
case /* optional google.protobuf.Duration requested_duration */ 4:
|
|
262
305
|
message.requestedDuration = Duration.internalBinaryRead(reader, reader.uint32(), options, message.requestedDuration);
|
|
263
306
|
break;
|
|
307
|
+
case /* string project_id */ 5:
|
|
308
|
+
message.projectId = reader.string();
|
|
309
|
+
break;
|
|
264
310
|
default:
|
|
265
311
|
let u = options.readUnknownField;
|
|
266
312
|
if (u === "throw")
|
|
@@ -285,6 +331,9 @@ class AccessRequestMessage$Type extends MessageType<AccessRequestMessage> {
|
|
|
285
331
|
/* optional google.protobuf.Duration requested_duration = 4; */
|
|
286
332
|
if (message.requestedDuration)
|
|
287
333
|
Duration.internalBinaryWrite(message.requestedDuration, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
|
|
334
|
+
/* string project_id = 5; */
|
|
335
|
+
if (message.projectId !== "")
|
|
336
|
+
writer.tag(5, WireType.LengthDelimited).string(message.projectId);
|
|
288
337
|
let u = options.writeUnknownFields;
|
|
289
338
|
if (u !== false)
|
|
290
339
|
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
@@ -690,7 +739,8 @@ class GrantTemporaryRoleRequest$Type extends MessageType<GrantTemporaryRoleReque
|
|
|
690
739
|
{ no: 1, name: "profile_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
691
740
|
{ no: 2, name: "role", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
692
741
|
{ no: 3, name: "expires_at", kind: "message", T: () => Timestamp },
|
|
693
|
-
{ no: 4, name: "justification", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
|
|
742
|
+
{ no: 4, name: "justification", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
743
|
+
{ no: 5, name: "project_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
|
|
694
744
|
]);
|
|
695
745
|
}
|
|
696
746
|
create(value?: PartialMessage<GrantTemporaryRoleRequest>): GrantTemporaryRoleRequest {
|
|
@@ -698,6 +748,7 @@ class GrantTemporaryRoleRequest$Type extends MessageType<GrantTemporaryRoleReque
|
|
|
698
748
|
message.profileId = "";
|
|
699
749
|
message.role = "";
|
|
700
750
|
message.justification = "";
|
|
751
|
+
message.projectId = "";
|
|
701
752
|
if (value !== undefined)
|
|
702
753
|
reflectionMergePartial<GrantTemporaryRoleRequest>(this, message, value);
|
|
703
754
|
return message;
|
|
@@ -719,6 +770,9 @@ class GrantTemporaryRoleRequest$Type extends MessageType<GrantTemporaryRoleReque
|
|
|
719
770
|
case /* string justification */ 4:
|
|
720
771
|
message.justification = reader.string();
|
|
721
772
|
break;
|
|
773
|
+
case /* string project_id */ 5:
|
|
774
|
+
message.projectId = reader.string();
|
|
775
|
+
break;
|
|
722
776
|
default:
|
|
723
777
|
let u = options.readUnknownField;
|
|
724
778
|
if (u === "throw")
|
|
@@ -743,6 +797,9 @@ class GrantTemporaryRoleRequest$Type extends MessageType<GrantTemporaryRoleReque
|
|
|
743
797
|
/* string justification = 4; */
|
|
744
798
|
if (message.justification !== "")
|
|
745
799
|
writer.tag(4, WireType.LengthDelimited).string(message.justification);
|
|
800
|
+
/* string project_id = 5; */
|
|
801
|
+
if (message.projectId !== "")
|
|
802
|
+
writer.tag(5, WireType.LengthDelimited).string(message.projectId);
|
|
746
803
|
let u = options.writeUnknownFields;
|
|
747
804
|
if (u !== false)
|
|
748
805
|
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|