gmessages/libgm/gmproto/authentication.proto
2023-07-17 16:51:31 +03:00

66 lines
1.2 KiB
Protocol Buffer

syntax = "proto3";
package authentication;
option go_package = "../gmproto";
import "messages.proto";
import "client.proto";
message BrowserDetails {
string userAgent = 1;
client.BrowserTypes browserType = 2;
string OS = 3;
bool someBool = 6;
}
message AuthenticationContainer {
messages.AuthMessage authMessage = 1;
BrowserDetails browserDetails = 3;
oneof data {
KeyData keyData = 4;
CurrentDeviceData deviceData = 5;
}
}
message ECDSAKeys {
int64 field1 = 1; // idk?
bytes encryptedKeys = 2;
}
message KeyData {
messages.Device mobile = 1;
ECDSAKeys ecdsaKeys = 6;
WebAuthKey webAuthKeyData = 2;
messages.Device browser = 3;
}
message WebAuthKey {
bytes webAuthKey = 1;
int64 validFor = 2;
}
message CurrentDeviceData {
messages.Device browser = 1;
}
message URLData {
bytes pairingKey = 1;
bytes AESKey = 2;
bytes HMACKey = 3;
}
message TokenData {
bytes tachyonAuthToken = 1;
int64 TTL = 2;
}
message PairedData {
messages.Device mobile = 1;
TokenData tokenData = 2;
messages.Device browser = 3;
}
message RevokePairData {
messages.Device revokedDevice = 1;
}