authgear-server icon indicating copy to clipboard operation
authgear-server copied to clipboard

Unify the terminology of "User Profiles" vs "Attributes"

Open chpapa opened this issue 10 months ago • 8 comments

Notice that right now we use "User Profiles" and "Attributes" changeably. (e.g. look at our doc)

SCR-20240408-g1u.png

I believe the confusion comes from:

  • On Admin Portal or when explain to end users, it is easier to use the term "User Profiles"
  • However, in Admin API or user data, we called it standardAttributes or customAttributes

Assigned it to @fungc-io first, as I believe this issue need some discussion before deciding the next step.

I think it would be better if we:

  • Always call it User Profiles, in documentation and in our APIs
  • Except when the use case is OIDC, and **IF OIDC DOES USE THE TERM ATTRIBUTES**, than we use attributes whenever it is OIDC specific.

Thoughts? @louischan @fungc-io

cc: @pius

chpapa avatar Apr 08 '24 03:04 chpapa

In OIDC, they are called Standard Claims.

louischan-oursky avatar Apr 08 '24 05:04 louischan-oursky

So maybe we should drop the term attributes at all?

chpapa avatar Apr 08 '24 06:04 chpapa

But we have been using the term attributes in public API like in configuration, GraphQL schema, and user import API, etc. It is hard to drop it now.

In the spec, User profile and attributes are defined as

User profile consists of standard attributes, custom attributes and roles.

So user profile = standard attributes + custom attributes. I think we can stick with the term "user profile" if we refer to any attributes, and use "custom attributes" when we talk about the use cases that make use of custom attributes.

louischan-oursky avatar Apr 08 '24 08:04 louischan-oursky

I guess what we are actually confused is standard attributes vs standard claims?

tung2744 avatar Apr 08 '24 08:04 tung2744

attributes or profiles vs claims would be a bit confusing. But I think this is unavoidable as claims is used by OIDC.

User Profiles and Attributes is the confusion that we introduce on our own.

BTW, I think we should really avoid anything that's confusing like "User Profile = standard attributes + custom attributes" in future, that's just creating confusion to everyone.

I think if we procasinate it, we should at least make sure all of our documents use User Profiles, and only use the term standard_attributes or custom_attributes when we refer to the config / graphQL schema or user import API, and never use the term attribute

chpapa avatar Apr 08 '24 09:04 chpapa

Yup, i agree we should use "User Profiles" in the doc menu you shared. It should be "Update User Profile".

It would be less confusing if we describe the structure of a "user profile" with clarity in https://docs.authgear.com/how-to-guide/user-management/user-profile

We should in the intro mention explicitly there are 3 components: standard attributes, custom attributes, and roles.

@pius, what do you think?

fungc-io avatar Apr 08 '24 19:04 fungc-io

We should in the intro mention explicitly there are 3 components: standard attributes, custom attributes, and roles.

Now that we have roles and groups, I think we should say user profile is standard attributes + custom attributes.

louischan-oursky avatar Apr 09 '24 03:04 louischan-oursky