Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discovery - Identity provider research #27

Closed
ericdrosas87 opened this issue Sep 10, 2024 · 4 comments
Closed

Discovery - Identity provider research #27

ericdrosas87 opened this issue Sep 10, 2024 · 4 comments
Assignees

Comments

@ericdrosas87
Copy link

ericdrosas87 commented Sep 10, 2024

Discovery work to find answers to broad questions:

  • Can Craft users be migrated over from one CMS to another?
  • Where are User fields stored in the database?
  • Confirm function of security key
  • What is the CIC module doing with the JWTs? What's needed to ensure that the JWT expiry date is updated with each request?
  • Is jamesedmonston amenable adding the delete-user-without-password confirmation to the Craft v4.x version of the plugin?
@ericdrosas87 ericdrosas87 self-assigned this Sep 10, 2024
@ericdrosas87
Copy link
Author

ericdrosas87 commented Sep 10, 2024

Is jamesedmonston amenable adding the delete-user-without-password confirmation to the Craft v4.x version of the plugin?

jamesedmonston/graphql-authentication#153

@ericdrosas87
Copy link
Author

ericdrosas87 commented Sep 11, 2024

Can Craft users be migrated over from one CMS to another?

Yes, it seems that simply copying over the user data to the Investigations database will allow for auth without reactivation/password resets

Confirm function of security key

The security key does not factor into the password hash

@ericdrosas87
Copy link
Author

ericdrosas87 commented Sep 12, 2024

Where are User fields stored in the database?

In the following tables:

  • Column in content table - where all custom fields go, and where user custom field data is stored
  • Row in fields table - where the field data is stored (description, handle, name)
  • Row in projectconfig table - for creating the project config files

When a user is created, an element record is also created. It is this element record that uses the PK elementId to associate a user to field data in the content table in a column specific to the user custom field. The column name in the content table has what Craft refers to as a "column suffix" appended to the column name, this "column suffix" is also stored in the fields table and this is how Craft associates custom user field data with a user. The fields table associates the custom user field to a fieldgroup specific to users.

In order to prevent requiring users to repopulate these custom user fields I'll need to manually export the data for the above tables and insert it into the Investigations database.

@ericdrosas87
Copy link
Author

What is the CIC module doing with the JWTs? What's needed to ensure that the JWT expiry date is updated with each request?

The UserRegistraiton module that CIC doesn't do anything with JWTs or authentication.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant