lib/generators/rodauth/oauth/templates/db/migrate/create_rodauth_oauth.rb in rodauth-oauth-0.10.4 vs lib/generators/rodauth/oauth/templates/db/migrate/create_rodauth_oauth.rb in rodauth-oauth-1.0.0.pre.beta1

- old
+ new

@@ -22,10 +22,23 @@ # t.string :jwks_uri, null: true # t.string :jwks, null: true # t.string :contacts, null: true # t.string :software_id, null: true # t.string :software_version, null: true + # oidc extra params + # t.string :sector_identifier_uri, null: true + # t.string :application_type, null: true + # t.string :subject_type, null: true + # t.string :id_token_signed_response_alg, null: true + # t.string :id_token_encrypted_response_alg, null: true + # t.string :id_token_encrypted_response_enc, null: true + # t.string :userinfo_signed_response_alg, null: true + # t.string :userinfo_encrypted_response_alg, null: true + # t.string :userinfo_encrypted_response_enc, null: true + # t.string :request_object_signing_alg, null: true + # t.string :request_object_encryption_alg, null: true + # t.string :request_object_encryption_enc, null: true # JWT/OIDC per application signing verification # t.text :jwt_public_key, null: true # RP-initiated logout # t.string :post_logout_redirect_uri, null: false end @@ -33,55 +46,31 @@ create_table :oauth_grants do |t| t.integer :account_id t.foreign_key :accounts, column: :account_id t.integer :oauth_application_id t.foreign_key :oauth_applications, column: :oauth_application_id - t.string :code, null: false + t.string :type, null: true + t.string :code, null: true t.index(%i[oauth_application_id code], unique: true) + t.string :token, unique: true + t.string :refresh_token, unique: true t.datetime :expires_in, null: false t.string :redirect_uri t.datetime :revoked_at t.string :scopes, null: false t.datetime :created_at, null: false, default: -> { "CURRENT_TIMESTAMP" } # for using access_types t.string :access_type, null: false, default: "offline" # uncomment to enable PKCE # t.string :code_challenge # t.string :code_challenge_method - # uncomment to use OIDC nonce - # t.string :nonce # device code grant # t.string :user_code, null: true, unique: true # t.datetime :last_polled_at, null: true # when using :oauth_resource_indicators feature # t.string :resource - end - - create_table :oauth_tokens do |t| - t.integer :account_id - t.foreign_key :accounts, column: :account_id - t.integer :oauth_grant_id - t.foreign_key :oauth_grants, column: :oauth_grant_id - t.integer :oauth_token_id - t.foreign_key :oauth_tokens, column: :oauth_token_id - t.integer :oauth_application_id - t.foreign_key :oauth_applications, column: :oauth_application_id - t.string :token, null: false, token: true, unique: true - # uncomment if setting oauth_tokens_token_hash_column - # and delete the token column - # t.string :token_hash, token: true, unique: true - t.string :refresh_token, unique: true - # uncomment if setting oauth_tokens_refresh_token_hash_column - # and delete the refresh_token column - # t.string :refresh_token_hash, token: true, unique: true - t.datetime :expires_in, null: false - t.datetime :revoked_at - t.string :scopes, null: false - t.datetime :created_at, null: false, default: -> { "CURRENT_TIMESTAMP" } # uncomment to use OIDC nonce # t.string :nonce - # t.datetime :auth_time - # when using :oauth_resource_indicators feature - # t.string :resource + # t.string :acr end end end \ No newline at end of file