Unified Account Linking (UAL) #5

Open
opened 2025-02-10 12:35:23 +00:00 by kami · 0 comments

``The UAL system will allow individuals to be identified by a UUID, which can in turn be used to associate actions taken on any linked account to the individual.
This allows the following scenarios:

  1. The user runs a command (eg. !howl) on Twitch, the result of which is stored. That same individual can then run "!howl stat" on Discord, and be able to see the howl statistic, despite the command being run on Twitch.
  2. Same as above, but in reverse. Users can howl on Discord, and see the results on Twitch.
  3. The user can run "!pawcoins" on either platform to see their pawcoins amount, regardless of where related activities were performed.
    This is all assuming the user has linked their accounts

The UAL process should be as smooth as possible, preferably offering two ways of doing this:

  • Discord modal:
    • A modal is presented on a Discord channel. The user clicks a button on it, which gives the user a unique one-time code. The user can then run the associated command on Twitch, appended with their code, eg "!acc_link MyCode1234". This will initiate the unification process in the database, associating both accounts (Discord, Twitch) with a common UUID.
  • Website login:
    • The user logs into a website hosted by me with Twitch. Depending on the actual method of implementation, the user may or may not need to log in with both Discord and Twitch accounts. However, it would be preffered to have the user follow a account link hyperlink containing the unique linking code, which will already have the Discord account associated, and thus no need for logging in with Discord as well.

The former method will be the prioritized method, potentially suplemented by the latter at some point.

A visual representation:

flowchart TD
    %% Identity group
    subgraph Identity[UAL Identity]
      individual["Individual (UUI UUID)"]
    end

    %% Platform Accounts group
    subgraph Platform_Accounts[Platform Accounts]
      discord["Discord Account"]
      twitch["Twitch Account"]
    end

    %% Systems group
    subgraph Systems[Systems]
      commands["Commands System"]
      statistics["Statistics System"]
      currency["Currency System"]
      other["Other systems"]
    end

    %% Link platform accounts to the individual
    individual -- "links" --> discord
    individual -- "links" --> twitch

    %% Associate systems with the individual's UUID
    commands -- "associated with" --> individual
    statistics -- "associated with" --> individual
    currency -- "associated with" --> individual
    other -- "associated with" --> individual
``The UAL system will allow individuals to be identified by a UUID, which can in turn be used to associate actions taken on any linked account to the individual. This allows the following scenarios: 1. The user runs a command (eg. !howl) on Twitch, the result of which is stored. That same individual can then run "!howl stat" on Discord, and be able to see the howl statistic, despite the command being run on Twitch. 2. Same as above, but in reverse. Users can howl on Discord, and see the results on Twitch. 3. The user can run "!pawcoins" on either platform to see their pawcoins amount, regardless of where related activities were performed. _This is all assuming the user has linked their accounts_ The UAL process should be as smooth as possible, preferably offering two ways of doing this: - Discord modal: - A modal is presented on a Discord channel. The user clicks a button on it, which gives the user a unique one-time code. The user can then run the associated command on Twitch, appended with their code, eg "!acc_link MyCode1234". This will initiate the unification process in the database, associating both accounts (Discord, Twitch) with a common UUID. - Website login: - The user logs into a website hosted by me with Twitch. Depending on the actual method of implementation, the user may or may not need to log in with both Discord and Twitch accounts. However, it would be preffered to have the user follow a account link hyperlink containing the unique linking code, which will already have the Discord account associated, and thus no need for logging in with Discord as well. The former method will be the prioritized method, potentially suplemented by the latter at some point. A visual representation: ```mermaid flowchart TD %% Identity group subgraph Identity[UAL Identity] individual["Individual (UUI UUID)"] end %% Platform Accounts group subgraph Platform_Accounts[Platform Accounts] discord["Discord Account"] twitch["Twitch Account"] end %% Systems group subgraph Systems[Systems] commands["Commands System"] statistics["Statistics System"] currency["Currency System"] other["Other systems"] end %% Link platform accounts to the individual individual -- "links" --> discord individual -- "links" --> twitch %% Associate systems with the individual's UUID commands -- "associated with" --> individual statistics -- "associated with" --> individual currency -- "associated with" --> individual other -- "associated with" --> individual ```
kami added the
enhancement
ux
labels 2025-02-10 12:35:23 +00:00
kami added this to the Devboard project 2025-02-10 12:35:23 +00:00
kami added a new dependency 2025-02-10 12:37:28 +00:00
Sign in to join this conversation.
There is no content yet.