@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.
Files changed (101) hide show
  1. package/README.md +9 -5
  2. package/dist/browser-vp/index.d.cts +0 -11
  3. package/dist/browser-vp/index.d.ts +0 -11
  4. package/dist/index.cjs +13721 -9514
  5. package/dist/index.d.cts +4362 -2375
  6. package/dist/index.d.ts +4362 -2375
  7. package/dist/index.js +13937 -9730
  8. package/package.json +3 -3
  9. package/src/browser-vp/crypto.ts +0 -1
  10. package/src/browser-vp/index.ts +0 -2
  11. package/src/browser-vp/prf.ts +0 -2
  12. package/src/browser-vp/storage.ts +0 -2
  13. package/src/browser-vp/types.ts +0 -2
  14. package/src/browser-vp/vp.ts +0 -2
  15. package/src/composables/index.ts +6 -1
  16. package/src/composables/useAccountTransport.test.ts +121 -0
  17. package/src/composables/useAccountTransport.ts +69 -0
  18. package/src/composables/useBffAuth.ts +44 -34
  19. package/src/generated/google/api/httpbody.ts +159 -0
  20. package/src/generated/google/protobuf/any.ts +326 -0
  21. package/src/generated/google/rpc/error_details.ts +1386 -0
  22. package/src/generated/google/rpc/status.ts +127 -0
  23. package/src/generated/sid/v1/account/account.ts +1 -1
  24. package/src/generated/sid/v1/admin/admin.client.ts +15 -12
  25. package/src/generated/sid/v1/admin/admin.ts +24 -89
  26. package/src/generated/sid/v1/admin/enrollment.client.ts +24 -12
  27. package/src/generated/sid/v1/admin/enrollment.ts +65 -3
  28. package/src/generated/sid/v1/admin/events.client.ts +8 -8
  29. package/src/generated/sid/v1/admin/flow.ts +1 -1
  30. package/src/generated/sid/v1/admin/keys.ts +1 -1
  31. package/src/generated/sid/v1/admin/notifications.client.ts +12 -6
  32. package/src/generated/sid/v1/admin/notifications.ts +11 -70
  33. package/src/generated/sid/v1/admin/operations.ts +20 -35
  34. package/src/generated/sid/v1/admin/organizations.client.ts +2 -2
  35. package/src/generated/sid/v1/admin/organizations.ts +15 -32
  36. package/src/generated/sid/v1/admin/provisioning.client.ts +232 -0
  37. package/src/generated/sid/v1/admin/provisioning.ts +1383 -0
  38. package/src/generated/sid/v1/admin/scopes.ts +1 -1
  39. package/src/generated/sid/v1/admin/security.client.ts +22 -24
  40. package/src/generated/sid/v1/admin/security.ts +13 -22
  41. package/src/generated/sid/v1/admin/settings.client.ts +29 -18
  42. package/src/generated/sid/v1/admin/settings.ts +2 -82
  43. package/src/generated/sid/v1/attestation/attestation.client.ts +6 -6
  44. package/src/generated/sid/v1/attestation/attestation.ts +8 -8
  45. package/src/generated/sid/v1/authn/auth.client.ts +101 -58
  46. package/src/generated/sid/v1/authn/auth.ts +842 -414
  47. package/src/generated/sid/v1/authn/flows.ts +0 -12
  48. package/src/generated/sid/v1/authn/issuer.client.ts +489 -0
  49. package/src/generated/sid/v1/authn/issuer.ts +1600 -0
  50. package/src/generated/sid/v1/authn/password_history.client.ts +57 -0
  51. package/src/generated/sid/v1/authn/password_history.ts +578 -0
  52. package/src/generated/sid/v1/authn/system_integration.client.ts +73 -0
  53. package/src/generated/sid/v1/authn/system_integration.ts +218 -0
  54. package/src/generated/sid/v1/authz/authz.ts +1498 -317
  55. package/src/generated/sid/v1/authz/forward_auth.client.ts +97 -0
  56. package/src/generated/sid/v1/authz/forward_auth.ts +79 -0
  57. package/src/generated/sid/v1/authz/governance.client.ts +2 -2
  58. package/src/generated/sid/v1/authz/governance.ts +61 -4
  59. package/src/generated/sid/v1/common/errors.ts +532 -6
  60. package/src/generated/sid/v1/events/event_stream.client.ts +2 -2
  61. package/src/generated/sid/v1/events/event_stream.ts +2 -1
  62. package/src/generated/sid/v1/identity/identity.ts +98 -58
  63. package/src/generated/sid/v1/ids/ids.ts +395 -0
  64. package/src/generated/sid/v1/machine/machine_user.ts +0 -36
  65. package/src/generated/sid/v1/machine/pat.client.ts +2 -19
  66. package/src/generated/sid/v1/machine/pat.ts +1 -186
  67. package/src/generated/sid/v1/projects/projects.client.ts +137 -19
  68. package/src/generated/sid/v1/projects/projects.ts +2105 -405
  69. package/src/generated/sid/v1/scim/scim.client.ts +248 -2
  70. package/src/generated/sid/v1/scim/scim.ts +153 -14
  71. package/src/generated/sid/v1/test/test.ts +1 -1
  72. package/src/i18n/index.ts +0 -11
  73. package/src/index.ts +36 -2
  74. package/src/package-exports.test.ts +18 -0
  75. package/src/profile/components/SidLoginForm.vue +5 -2
  76. package/src/profile/components/SidRegistrationForm.test.ts +58 -1
  77. package/src/profile/components/SidRegistrationForm.vue +110 -12
  78. package/src/profile/components/index.ts +4 -0
  79. package/src/profile/composables/index.ts +2 -1
  80. package/src/profile/composables/useAccountApi.ts +20 -7
  81. package/src/profile/composables/useAuth.test.ts +453 -0
  82. package/src/profile/composables/useAuth.ts +414 -0
  83. package/src/profile/composables/useAuthApi.opaque.test.ts +18 -0
  84. package/src/profile/composables/useAuthApi.ts +188 -20
  85. package/src/profile/composables/useEnrollmentApi.test.ts +33 -0
  86. package/src/profile/composables/useEnrollmentApi.ts +26 -0
  87. package/src/profile/composables/useIdentityApi.ts +17 -7
  88. package/src/profile/composables/useLoginSuccess.test.ts +97 -3
  89. package/src/profile/composables/useLoginSuccess.ts +80 -22
  90. package/src/profile/composables/useSecurityLevel.test.ts +10 -3
  91. package/src/profile/composables/useSecurityLevel.ts +12 -3
  92. package/src/quasar/SidPrincipalInput.vue +4 -7
  93. package/src/utils/normalizePrincipal.test.ts +19 -5
  94. package/src/utils/normalizePrincipal.ts +7 -9
  95. package/src/utils/rpcRefusal.test.ts +151 -0
  96. package/src/utils/rpcRefusal.ts +252 -0
  97. package/src/utils/validators.test.ts +9 -0
  98. package/src/utils/validators.ts +14 -2
  99. package/src/composables/useAuth.ts +0 -40
  100. package/src/profile/composables/useOpaqueAuth.test.ts +0 -290
  101. package/src/profile/composables/useOpaqueAuth.ts +0 -191
@@ -100,7 +100,7 @@ export interface CreatePatRequest {
100
100
  /**
101
101
  * @generated from protobuf field: repeated string ip_allowlist = 5
102
102
  */
103
- ipAllowlist: string[]; // EE: restrict by IP.
103
+ ipAllowlist: string[]; // Client addresses the token is restricted to.
104
104
  }
105
105
  /**
106
106
  * @generated from protobuf message sid.v1.machine.CreatePatResponse
@@ -205,50 +205,6 @@ export interface ExchangePatResponse {
205
205
  */
206
206
  scope: string; // Space-separated scopes.
207
207
  }
208
- // ── Introspection messages (RFC 7662) ──
209
-
210
- /**
211
- * @generated from protobuf message sid.v1.machine.IntrospectPatRequest
212
- */
213
- export interface IntrospectPatRequest {
214
- /**
215
- * @generated from protobuf field: string token = 1
216
- */
217
- token: string;
218
- }
219
- /**
220
- * @generated from protobuf message sid.v1.machine.IntrospectPatResponse
221
- */
222
- export interface IntrospectPatResponse {
223
- /**
224
- * @generated from protobuf field: bool active = 1
225
- */
226
- active: boolean;
227
- /**
228
- * @generated from protobuf field: string sub = 2
229
- */
230
- sub: string; // profile_id.
231
- /**
232
- * @generated from protobuf field: string scope = 3
233
- */
234
- scope: string; // Space-separated.
235
- /**
236
- * @generated from protobuf field: string client_id = 4
237
- */
238
- clientId: string; // pat_id.
239
- /**
240
- * @generated from protobuf field: string token_type = 5
241
- */
242
- tokenType: string; // "pat".
243
- /**
244
- * @generated from protobuf field: google.protobuf.Timestamp exp = 6
245
- */
246
- exp?: Timestamp;
247
- /**
248
- * @generated from protobuf field: google.protobuf.Timestamp iat = 7
249
- */
250
- iat?: Timestamp;
251
- }
252
208
  // ── Admin messages ──
253
209
 
254
210
  /**
@@ -982,146 +938,6 @@ class ExchangePatResponse$Type extends MessageType<ExchangePatResponse> {
982
938
  */
983
939
  export const ExchangePatResponse = new ExchangePatResponse$Type();
984
940
  // @generated message type with reflection information, may provide speed optimized methods
985
- class IntrospectPatRequest$Type extends MessageType<IntrospectPatRequest> {
986
- constructor() {
987
- super("sid.v1.machine.IntrospectPatRequest", [
988
- { no: 1, name: "token", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
989
- ]);
990
- }
991
- create(value?: PartialMessage<IntrospectPatRequest>): IntrospectPatRequest {
992
- const message = globalThis.Object.create((this.messagePrototype!));
993
- message.token = "";
994
- if (value !== undefined)
995
- reflectionMergePartial<IntrospectPatRequest>(this, message, value);
996
- return message;
997
- }
998
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: IntrospectPatRequest): IntrospectPatRequest {
999
- let message = target ?? this.create(), end = reader.pos + length;
1000
- while (reader.pos < end) {
1001
- let [fieldNo, wireType] = reader.tag();
1002
- switch (fieldNo) {
1003
- case /* string token */ 1:
1004
- message.token = reader.string();
1005
- break;
1006
- default:
1007
- let u = options.readUnknownField;
1008
- if (u === "throw")
1009
- throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1010
- let d = reader.skip(wireType);
1011
- if (u !== false)
1012
- (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1013
- }
1014
- }
1015
- return message;
1016
- }
1017
- internalBinaryWrite(message: IntrospectPatRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1018
- /* string token = 1; */
1019
- if (message.token !== "")
1020
- writer.tag(1, WireType.LengthDelimited).string(message.token);
1021
- let u = options.writeUnknownFields;
1022
- if (u !== false)
1023
- (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1024
- return writer;
1025
- }
1026
- }
1027
- /**
1028
- * @generated MessageType for protobuf message sid.v1.machine.IntrospectPatRequest
1029
- */
1030
- export const IntrospectPatRequest = new IntrospectPatRequest$Type();
1031
- // @generated message type with reflection information, may provide speed optimized methods
1032
- class IntrospectPatResponse$Type extends MessageType<IntrospectPatResponse> {
1033
- constructor() {
1034
- super("sid.v1.machine.IntrospectPatResponse", [
1035
- { no: 1, name: "active", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1036
- { no: 2, name: "sub", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1037
- { no: 3, name: "scope", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1038
- { no: 4, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1039
- { no: 5, name: "token_type", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1040
- { no: 6, name: "exp", kind: "message", T: () => Timestamp },
1041
- { no: 7, name: "iat", kind: "message", T: () => Timestamp }
1042
- ]);
1043
- }
1044
- create(value?: PartialMessage<IntrospectPatResponse>): IntrospectPatResponse {
1045
- const message = globalThis.Object.create((this.messagePrototype!));
1046
- message.active = false;
1047
- message.sub = "";
1048
- message.scope = "";
1049
- message.clientId = "";
1050
- message.tokenType = "";
1051
- if (value !== undefined)
1052
- reflectionMergePartial<IntrospectPatResponse>(this, message, value);
1053
- return message;
1054
- }
1055
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: IntrospectPatResponse): IntrospectPatResponse {
1056
- let message = target ?? this.create(), end = reader.pos + length;
1057
- while (reader.pos < end) {
1058
- let [fieldNo, wireType] = reader.tag();
1059
- switch (fieldNo) {
1060
- case /* bool active */ 1:
1061
- message.active = reader.bool();
1062
- break;
1063
- case /* string sub */ 2:
1064
- message.sub = reader.string();
1065
- break;
1066
- case /* string scope */ 3:
1067
- message.scope = reader.string();
1068
- break;
1069
- case /* string client_id */ 4:
1070
- message.clientId = reader.string();
1071
- break;
1072
- case /* string token_type */ 5:
1073
- message.tokenType = reader.string();
1074
- break;
1075
- case /* google.protobuf.Timestamp exp */ 6:
1076
- message.exp = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.exp);
1077
- break;
1078
- case /* google.protobuf.Timestamp iat */ 7:
1079
- message.iat = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.iat);
1080
- break;
1081
- default:
1082
- let u = options.readUnknownField;
1083
- if (u === "throw")
1084
- throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1085
- let d = reader.skip(wireType);
1086
- if (u !== false)
1087
- (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1088
- }
1089
- }
1090
- return message;
1091
- }
1092
- internalBinaryWrite(message: IntrospectPatResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1093
- /* bool active = 1; */
1094
- if (message.active !== false)
1095
- writer.tag(1, WireType.Varint).bool(message.active);
1096
- /* string sub = 2; */
1097
- if (message.sub !== "")
1098
- writer.tag(2, WireType.LengthDelimited).string(message.sub);
1099
- /* string scope = 3; */
1100
- if (message.scope !== "")
1101
- writer.tag(3, WireType.LengthDelimited).string(message.scope);
1102
- /* string client_id = 4; */
1103
- if (message.clientId !== "")
1104
- writer.tag(4, WireType.LengthDelimited).string(message.clientId);
1105
- /* string token_type = 5; */
1106
- if (message.tokenType !== "")
1107
- writer.tag(5, WireType.LengthDelimited).string(message.tokenType);
1108
- /* google.protobuf.Timestamp exp = 6; */
1109
- if (message.exp)
1110
- Timestamp.internalBinaryWrite(message.exp, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
1111
- /* google.protobuf.Timestamp iat = 7; */
1112
- if (message.iat)
1113
- Timestamp.internalBinaryWrite(message.iat, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
1114
- let u = options.writeUnknownFields;
1115
- if (u !== false)
1116
- (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1117
- return writer;
1118
- }
1119
- }
1120
- /**
1121
- * @generated MessageType for protobuf message sid.v1.machine.IntrospectPatResponse
1122
- */
1123
- export const IntrospectPatResponse = new IntrospectPatResponse$Type();
1124
- // @generated message type with reflection information, may provide speed optimized methods
1125
941
  class ListAllPatsRequest$Type extends MessageType<ListAllPatsRequest> {
1126
942
  constructor() {
1127
943
  super("sid.v1.machine.ListAllPatsRequest", []);
@@ -1262,7 +1078,6 @@ export const PatService = new ServiceType("sid.v1.machine.PatService", [
1262
1078
  { name: "GetPat", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { get: "/v1/pats/{pat_id}" } }, I: GetPatRequest, O: PatResponse },
1263
1079
  { name: "RevokePat", idempotency: "IDEMPOTENT", options: { "google.api.http": { delete: "/v1/pats/{pat_id}" } }, I: RevokePatRequest, O: RevokePatResponse },
1264
1080
  { name: "ExchangePat", options: { "google.api.http": { post: "/v1/pats/exchange", body: "*" } }, I: ExchangePatRequest, O: ExchangePatResponse },
1265
- { name: "IntrospectPat", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { post: "/v1/pats/introspect", body: "*" } }, I: IntrospectPatRequest, O: IntrospectPatResponse },
1266
1081
  { name: "ListAllPats", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { get: "/v1/admin/pats" } }, I: ListAllPatsRequest, O: ListAllPatsResponse },
1267
1082
  { name: "AdminRevokePat", idempotency: "IDEMPOTENT", options: { "google.api.http": { delete: "/v1/admin/pats/{pat_id}" } }, I: AdminRevokePatRequest, O: RevokePatResponse }
1268
1083
  ]);
@@ -11,12 +11,23 @@ import type { CreateInitialAccessTokenResponse } from "./projects";
11
11
  import type { CreateInitialAccessTokenRequest } from "./projects";
12
12
  import type { DeleteRegisteredClientRequest } from "./projects";
13
13
  import type { UpdateRegisteredClientRequest } from "./projects";
14
+ import type { OAuthClient } from "./projects";
14
15
  import type { GetRegisteredClientRequest } from "./projects";
15
16
  import type { RegisterClientResponse } from "./projects";
16
17
  import type { RegisterClientRequest } from "./projects";
17
18
  import type { RemoveRoleRequest } from "./projects";
18
19
  import type { Role } from "../authz/authz";
19
20
  import type { AddRoleRequest } from "./projects";
21
+ import type { ListResourceAccessResponse } from "./projects";
22
+ import type { ListResourceAccessRequest } from "./projects";
23
+ import type { RemoveResourceAccessRequest } from "./projects";
24
+ import type { ResourceAccess } from "./projects";
25
+ import type { SetResourceAccessRequest } from "./projects";
26
+ import type { ProtectedResource } from "./projects";
27
+ import type { UpdateResourceRoleRequest } from "./projects";
28
+ import type { AddResourceRoleRequest } from "./projects";
29
+ import type { UpdateClientRoleRequest } from "./projects";
30
+ import type { AddClientRoleRequest } from "./projects";
20
31
  import type { DeleteApplicationRequest } from "./projects";
21
32
  import type { UpdateApplicationRequest } from "./projects";
22
33
  import type { ListApplicationsResponse } from "./projects";
@@ -65,7 +76,8 @@ export interface IProjectServiceClient {
65
76
  */
66
77
  deleteProject(input: DeleteProjectRequest, options?: RpcOptions): UnaryCall<DeleteProjectRequest, Empty>;
67
78
  /**
68
- * Applications within project.
79
+ * Applications within a project. Creating one registers the roles it
80
+ * starts with in one step.
69
81
  *
70
82
  * @generated from protobuf rpc: CreateApplication
71
83
  */
@@ -83,9 +95,46 @@ export interface IProjectServiceClient {
83
95
  */
84
96
  updateApplication(input: UpdateApplicationRequest, options?: RpcOptions): UnaryCall<UpdateApplicationRequest, Application>;
85
97
  /**
98
+ * Removes the application: its client role and the client's access are
99
+ * deleted, its resource role is retired and access to it ends.
100
+ *
86
101
  * @generated from protobuf rpc: DeleteApplication
87
102
  */
88
103
  deleteApplication(input: DeleteApplicationRequest, options?: RpcOptions): UnaryCall<DeleteApplicationRequest, Empty>;
104
+ /**
105
+ * Client role.
106
+ *
107
+ * @generated from protobuf rpc: AddClientRole
108
+ */
109
+ addClientRole(input: AddClientRoleRequest, options?: RpcOptions): UnaryCall<AddClientRoleRequest, CreateApplicationResponse>;
110
+ /**
111
+ * @generated from protobuf rpc: UpdateClientRole
112
+ */
113
+ updateClientRole(input: UpdateClientRoleRequest, options?: RpcOptions): UnaryCall<UpdateClientRoleRequest, Application>;
114
+ /**
115
+ * Protected-resource role.
116
+ *
117
+ * @generated from protobuf rpc: AddResourceRole
118
+ */
119
+ addResourceRole(input: AddResourceRoleRequest, options?: RpcOptions): UnaryCall<AddResourceRoleRequest, Application>;
120
+ /**
121
+ * @generated from protobuf rpc: UpdateResourceRole
122
+ */
123
+ updateResourceRole(input: UpdateResourceRoleRequest, options?: RpcOptions): UnaryCall<UpdateResourceRoleRequest, ProtectedResource>;
124
+ /**
125
+ * Client-to-resource access.
126
+ *
127
+ * @generated from protobuf rpc: SetResourceAccess
128
+ */
129
+ setResourceAccess(input: SetResourceAccessRequest, options?: RpcOptions): UnaryCall<SetResourceAccessRequest, ResourceAccess>;
130
+ /**
131
+ * @generated from protobuf rpc: RemoveResourceAccess
132
+ */
133
+ removeResourceAccess(input: RemoveResourceAccessRequest, options?: RpcOptions): UnaryCall<RemoveResourceAccessRequest, Empty>;
134
+ /**
135
+ * @generated from protobuf rpc: ListResourceAccess
136
+ */
137
+ listResourceAccess(input: ListResourceAccessRequest, options?: RpcOptions): UnaryCall<ListResourceAccessRequest, ListResourceAccessResponse>;
89
138
  /**
90
139
  * Roles within project (uses Role type from authz.proto).
91
140
  *
@@ -97,7 +146,12 @@ export interface IProjectServiceClient {
97
146
  */
98
147
  removeRole(input: RemoveRoleRequest, options?: RpcOptions): UnaryCall<RemoveRoleRequest, Empty>;
99
148
  /**
100
- * Dynamic Client Registration (RFC 7591).
149
+ * Dynamic Client Registration (RFC 7591) and client management (RFC 7592)
150
+ * under one issuer. No HTTP binding here: the RFC form of these RPCs is
151
+ * OidcProviderService's registration endpoints under the issuer path.
152
+ * RegisterClient creates a new client on every call; it is not advertised
153
+ * as safely retryable. A registration creates a client, never a resource or
154
+ * access to one.
101
155
  *
102
156
  * @generated from protobuf rpc: RegisterClient
103
157
  */
@@ -105,11 +159,11 @@ export interface IProjectServiceClient {
105
159
  /**
106
160
  * @generated from protobuf rpc: GetRegisteredClient
107
161
  */
108
- getRegisteredClient(input: GetRegisteredClientRequest, options?: RpcOptions): UnaryCall<GetRegisteredClientRequest, Application>;
162
+ getRegisteredClient(input: GetRegisteredClientRequest, options?: RpcOptions): UnaryCall<GetRegisteredClientRequest, OAuthClient>;
109
163
  /**
110
164
  * @generated from protobuf rpc: UpdateRegisteredClient
111
165
  */
112
- updateRegisteredClient(input: UpdateRegisteredClientRequest, options?: RpcOptions): UnaryCall<UpdateRegisteredClientRequest, Application>;
166
+ updateRegisteredClient(input: UpdateRegisteredClientRequest, options?: RpcOptions): UnaryCall<UpdateRegisteredClientRequest, OAuthClient>;
113
167
  /**
114
168
  * @generated from protobuf rpc: DeleteRegisteredClient
115
169
  */
@@ -178,7 +232,8 @@ export class ProjectServiceClient implements IProjectServiceClient, ServiceInfo
178
232
  return stackIntercept<DeleteProjectRequest, Empty>("unary", this._transport, method, opt, input);
179
233
  }
180
234
  /**
181
- * Applications within project.
235
+ * Applications within a project. Creating one registers the roles it
236
+ * starts with in one step.
182
237
  *
183
238
  * @generated from protobuf rpc: CreateApplication
184
239
  */
@@ -208,56 +263,119 @@ export class ProjectServiceClient implements IProjectServiceClient, ServiceInfo
208
263
  return stackIntercept<UpdateApplicationRequest, Application>("unary", this._transport, method, opt, input);
209
264
  }
210
265
  /**
266
+ * Removes the application: its client role and the client's access are
267
+ * deleted, its resource role is retired and access to it ends.
268
+ *
211
269
  * @generated from protobuf rpc: DeleteApplication
212
270
  */
213
271
  deleteApplication(input: DeleteApplicationRequest, options?: RpcOptions): UnaryCall<DeleteApplicationRequest, Empty> {
214
272
  const method = this.methods[9], opt = this._transport.mergeOptions(options);
215
273
  return stackIntercept<DeleteApplicationRequest, Empty>("unary", this._transport, method, opt, input);
216
274
  }
275
+ /**
276
+ * Client role.
277
+ *
278
+ * @generated from protobuf rpc: AddClientRole
279
+ */
280
+ addClientRole(input: AddClientRoleRequest, options?: RpcOptions): UnaryCall<AddClientRoleRequest, CreateApplicationResponse> {
281
+ const method = this.methods[10], opt = this._transport.mergeOptions(options);
282
+ return stackIntercept<AddClientRoleRequest, CreateApplicationResponse>("unary", this._transport, method, opt, input);
283
+ }
284
+ /**
285
+ * @generated from protobuf rpc: UpdateClientRole
286
+ */
287
+ updateClientRole(input: UpdateClientRoleRequest, options?: RpcOptions): UnaryCall<UpdateClientRoleRequest, Application> {
288
+ const method = this.methods[11], opt = this._transport.mergeOptions(options);
289
+ return stackIntercept<UpdateClientRoleRequest, Application>("unary", this._transport, method, opt, input);
290
+ }
291
+ /**
292
+ * Protected-resource role.
293
+ *
294
+ * @generated from protobuf rpc: AddResourceRole
295
+ */
296
+ addResourceRole(input: AddResourceRoleRequest, options?: RpcOptions): UnaryCall<AddResourceRoleRequest, Application> {
297
+ const method = this.methods[12], opt = this._transport.mergeOptions(options);
298
+ return stackIntercept<AddResourceRoleRequest, Application>("unary", this._transport, method, opt, input);
299
+ }
300
+ /**
301
+ * @generated from protobuf rpc: UpdateResourceRole
302
+ */
303
+ updateResourceRole(input: UpdateResourceRoleRequest, options?: RpcOptions): UnaryCall<UpdateResourceRoleRequest, ProtectedResource> {
304
+ const method = this.methods[13], opt = this._transport.mergeOptions(options);
305
+ return stackIntercept<UpdateResourceRoleRequest, ProtectedResource>("unary", this._transport, method, opt, input);
306
+ }
307
+ /**
308
+ * Client-to-resource access.
309
+ *
310
+ * @generated from protobuf rpc: SetResourceAccess
311
+ */
312
+ setResourceAccess(input: SetResourceAccessRequest, options?: RpcOptions): UnaryCall<SetResourceAccessRequest, ResourceAccess> {
313
+ const method = this.methods[14], opt = this._transport.mergeOptions(options);
314
+ return stackIntercept<SetResourceAccessRequest, ResourceAccess>("unary", this._transport, method, opt, input);
315
+ }
316
+ /**
317
+ * @generated from protobuf rpc: RemoveResourceAccess
318
+ */
319
+ removeResourceAccess(input: RemoveResourceAccessRequest, options?: RpcOptions): UnaryCall<RemoveResourceAccessRequest, Empty> {
320
+ const method = this.methods[15], opt = this._transport.mergeOptions(options);
321
+ return stackIntercept<RemoveResourceAccessRequest, Empty>("unary", this._transport, method, opt, input);
322
+ }
323
+ /**
324
+ * @generated from protobuf rpc: ListResourceAccess
325
+ */
326
+ listResourceAccess(input: ListResourceAccessRequest, options?: RpcOptions): UnaryCall<ListResourceAccessRequest, ListResourceAccessResponse> {
327
+ const method = this.methods[16], opt = this._transport.mergeOptions(options);
328
+ return stackIntercept<ListResourceAccessRequest, ListResourceAccessResponse>("unary", this._transport, method, opt, input);
329
+ }
217
330
  /**
218
331
  * Roles within project (uses Role type from authz.proto).
219
332
  *
220
333
  * @generated from protobuf rpc: AddRole
221
334
  */
222
335
  addRole(input: AddRoleRequest, options?: RpcOptions): UnaryCall<AddRoleRequest, Role> {
223
- const method = this.methods[10], opt = this._transport.mergeOptions(options);
336
+ const method = this.methods[17], opt = this._transport.mergeOptions(options);
224
337
  return stackIntercept<AddRoleRequest, Role>("unary", this._transport, method, opt, input);
225
338
  }
226
339
  /**
227
340
  * @generated from protobuf rpc: RemoveRole
228
341
  */
229
342
  removeRole(input: RemoveRoleRequest, options?: RpcOptions): UnaryCall<RemoveRoleRequest, Empty> {
230
- const method = this.methods[11], opt = this._transport.mergeOptions(options);
343
+ const method = this.methods[18], opt = this._transport.mergeOptions(options);
231
344
  return stackIntercept<RemoveRoleRequest, Empty>("unary", this._transport, method, opt, input);
232
345
  }
233
346
  /**
234
- * Dynamic Client Registration (RFC 7591).
347
+ * Dynamic Client Registration (RFC 7591) and client management (RFC 7592)
348
+ * under one issuer. No HTTP binding here: the RFC form of these RPCs is
349
+ * OidcProviderService's registration endpoints under the issuer path.
350
+ * RegisterClient creates a new client on every call; it is not advertised
351
+ * as safely retryable. A registration creates a client, never a resource or
352
+ * access to one.
235
353
  *
236
354
  * @generated from protobuf rpc: RegisterClient
237
355
  */
238
356
  registerClient(input: RegisterClientRequest, options?: RpcOptions): UnaryCall<RegisterClientRequest, RegisterClientResponse> {
239
- const method = this.methods[12], opt = this._transport.mergeOptions(options);
357
+ const method = this.methods[19], opt = this._transport.mergeOptions(options);
240
358
  return stackIntercept<RegisterClientRequest, RegisterClientResponse>("unary", this._transport, method, opt, input);
241
359
  }
242
360
  /**
243
361
  * @generated from protobuf rpc: GetRegisteredClient
244
362
  */
245
- getRegisteredClient(input: GetRegisteredClientRequest, options?: RpcOptions): UnaryCall<GetRegisteredClientRequest, Application> {
246
- const method = this.methods[13], opt = this._transport.mergeOptions(options);
247
- return stackIntercept<GetRegisteredClientRequest, Application>("unary", this._transport, method, opt, input);
363
+ getRegisteredClient(input: GetRegisteredClientRequest, options?: RpcOptions): UnaryCall<GetRegisteredClientRequest, OAuthClient> {
364
+ const method = this.methods[20], opt = this._transport.mergeOptions(options);
365
+ return stackIntercept<GetRegisteredClientRequest, OAuthClient>("unary", this._transport, method, opt, input);
248
366
  }
249
367
  /**
250
368
  * @generated from protobuf rpc: UpdateRegisteredClient
251
369
  */
252
- updateRegisteredClient(input: UpdateRegisteredClientRequest, options?: RpcOptions): UnaryCall<UpdateRegisteredClientRequest, Application> {
253
- const method = this.methods[14], opt = this._transport.mergeOptions(options);
254
- return stackIntercept<UpdateRegisteredClientRequest, Application>("unary", this._transport, method, opt, input);
370
+ updateRegisteredClient(input: UpdateRegisteredClientRequest, options?: RpcOptions): UnaryCall<UpdateRegisteredClientRequest, OAuthClient> {
371
+ const method = this.methods[21], opt = this._transport.mergeOptions(options);
372
+ return stackIntercept<UpdateRegisteredClientRequest, OAuthClient>("unary", this._transport, method, opt, input);
255
373
  }
256
374
  /**
257
375
  * @generated from protobuf rpc: DeleteRegisteredClient
258
376
  */
259
377
  deleteRegisteredClient(input: DeleteRegisteredClientRequest, options?: RpcOptions): UnaryCall<DeleteRegisteredClientRequest, Empty> {
260
- const method = this.methods[15], opt = this._transport.mergeOptions(options);
378
+ const method = this.methods[22], opt = this._transport.mergeOptions(options);
261
379
  return stackIntercept<DeleteRegisteredClientRequest, Empty>("unary", this._transport, method, opt, input);
262
380
  }
263
381
  /**
@@ -266,21 +384,21 @@ export class ProjectServiceClient implements IProjectServiceClient, ServiceInfo
266
384
  * @generated from protobuf rpc: CreateInitialAccessToken
267
385
  */
268
386
  createInitialAccessToken(input: CreateInitialAccessTokenRequest, options?: RpcOptions): UnaryCall<CreateInitialAccessTokenRequest, CreateInitialAccessTokenResponse> {
269
- const method = this.methods[16], opt = this._transport.mergeOptions(options);
387
+ const method = this.methods[23], opt = this._transport.mergeOptions(options);
270
388
  return stackIntercept<CreateInitialAccessTokenRequest, CreateInitialAccessTokenResponse>("unary", this._transport, method, opt, input);
271
389
  }
272
390
  /**
273
391
  * @generated from protobuf rpc: ListInitialAccessTokens
274
392
  */
275
393
  listInitialAccessTokens(input: ListInitialAccessTokensRequest, options?: RpcOptions): UnaryCall<ListInitialAccessTokensRequest, ListInitialAccessTokensResponse> {
276
- const method = this.methods[17], opt = this._transport.mergeOptions(options);
394
+ const method = this.methods[24], opt = this._transport.mergeOptions(options);
277
395
  return stackIntercept<ListInitialAccessTokensRequest, ListInitialAccessTokensResponse>("unary", this._transport, method, opt, input);
278
396
  }
279
397
  /**
280
398
  * @generated from protobuf rpc: RevokeInitialAccessToken
281
399
  */
282
400
  revokeInitialAccessToken(input: RevokeInitialAccessTokenRequest, options?: RpcOptions): UnaryCall<RevokeInitialAccessTokenRequest, Empty> {
283
- const method = this.methods[18], opt = this._transport.mergeOptions(options);
401
+ const method = this.methods[25], opt = this._transport.mergeOptions(options);
284
402
  return stackIntercept<RevokeInitialAccessTokenRequest, Empty>("unary", this._transport, method, opt, input);
285
403
  }
286
404
  }