mirror of
https://github.com/discourse/discourse.git
synced 2024-12-15 03:43:40 +08:00
534e1b1b18
A generic implementation of Auth::Authenticator which stores data in the new UserAssociatedAccount model. This should help significantly reduce the duplicated logic across different auth providers.
19 lines
769 B
Ruby
19 lines
769 B
Ruby
class CreateUserAssociatedAccounts < ActiveRecord::Migration[5.2]
|
|
def change
|
|
create_table :user_associated_accounts do |t|
|
|
t.string :provider_name, null: false
|
|
t.string :provider_uid, null: false
|
|
t.integer :user_id, null: false
|
|
t.datetime :last_used, null: false, default: -> { "CURRENT_TIMESTAMP" }
|
|
t.jsonb :info, null: false, default: {}
|
|
t.jsonb :credentials, null: false, default: {}
|
|
t.jsonb :extra, null: false, default: {}
|
|
|
|
t.timestamps
|
|
end
|
|
|
|
add_index :user_associated_accounts, [:provider_name, :provider_uid], unique: true, name: 'associated_accounts_provider_uid'
|
|
add_index :user_associated_accounts, [:provider_name, :user_id], unique: true, name: 'associated_accounts_provider_user'
|
|
end
|
|
end
|