// ref: https://github.com/takenet/lime-csharp/tree/master/src/Lime.Protocol/Security export interface GuestAuthentication { scheme: 'guest' } export interface KeyAuthentication { scheme: 'key' key: string } // This auth method doesn't exist in reality, it is only used to facilitate usage export interface TokenAuthentication { scheme: 'token' token: string } export interface ExternalAuthentication { scheme: 'external' issuer: string token: string } export interface PlainAuthentication { scheme: 'plain' password: string } export type Authentication = | GuestAuthentication | KeyAuthentication | ExternalAuthentication | PlainAuthentication | TokenAuthentication