ec78c0cdf5
Introduce Luna.Identity project with user identity service, pairing code generation, and channel linking. Channels (Telegram, CLI) now verify link status before routing messages and prompt users to pair via the web interface. WebChannel handles /link <channel-type> <code> commands to complete the pairing flow. Fix inverted expiration check in IsPairingCodeExpired that caused codes to be treated as expired immediately after creation.
12 lines
320 B
C#
12 lines
320 B
C#
namespace Luna.Identity.Abstractions;
|
|
|
|
/// <summary>
|
|
/// Associates a channel-specific user identity with a Luna user.
|
|
/// E.g., Telegram user ID "12345" → Luna user "guid-xxx"
|
|
/// </summary>
|
|
public record ChannelLink(
|
|
string ChannelType,
|
|
string ChannelUserId,
|
|
string UserId,
|
|
DateTimeOffset LinkedAt);
|