convex_identity.proto•2.11 kB
syntax = "proto3";
package convex_identity;
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "errors.proto";
message AuthenticationToken {
oneof identity {
AdminAuthenticationToken admin = 1;
string user = 2;
google.protobuf.Empty none = 3;
}
}
message AdminAuthenticationToken {
optional string key = 1;
UserIdentityAttributes acting_as = 2;
}
// This is an already validated identity passed between internal services.
message UncheckedIdentity {
oneof identity {
AdminIdentity admin_identity = 1;
google.protobuf.Empty system = 2;
UserIdentity user_identity = 3;
ActingUser acting_user = 4;
UnknownIdentity unknown = 5;
}
}
message UnknownIdentity {
optional errors.ErrorMetadata error_message = 1;
}
message AdminIdentity {
optional string instance_name = 1;
optional string key = 3;
oneof principal {
uint64 member_id = 2;
uint64 team_id = 5;
}
bool is_read_only = 6;
}
message UserIdentity {
optional string subject = 1;
optional string issuer = 2;
optional google.protobuf.Timestamp expiration = 3;
UserIdentityAttributes attributes = 4;
optional string original_token = 5;
}
message ActingUser {
AdminIdentity admin_identity = 1;
UserIdentityAttributes attributes = 2;
}
message UserIdentityAttributes {
optional string token_identifier = 1;
optional string issuer = 2;
optional string subject = 3;
optional string name = 4;
optional string given_name = 5;
optional string family_name = 6;
optional string nickname = 7;
optional string preferred_username = 8;
optional string profile_url = 9;
optional string picture_url = 10;
optional string website_url = 11;
optional string email = 12;
optional bool email_verified = 13;
optional string gender = 14;
optional string birthday = 15;
optional string timezone = 16;
optional string language = 17;
optional string phone_number = 18;
optional bool phone_number_verified = 19;
optional string address = 20;
optional string updated_at = 21;
map<string, string> custom_claims = 22;
}