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

feat(jans-core): add new Person claim jansAuthenticator #8158

Closed
8 tasks
SafinWasi opened this issue Mar 27, 2024 · 5 comments
Closed
8 tasks

feat(jans-core): add new Person claim jansAuthenticator #8158

SafinWasi opened this issue Mar 27, 2024 · 5 comments
Assignees
Labels
comp-jans-core Component affected by issue or PR comp-jans-orm Component affected by issue or PR kind-feature Issue or PR is a new feature request

Comments

@SafinWasi
Copy link
Contributor

SafinWasi commented Mar 27, 2024


Description

We want a JSON attribute, jansAuthenticator, to be used in conjunction with jansExtUid for storing credential details.

jansExtUid: [otp: xyz1, cert: xyz2, duo: xyz3]
jansAuthenticator: {
   "xyz1": {"id": "xyz1", "type": "otp", ...}, 
   "xyz2": {"id": "xyz2", "type": "cert", ...},
   "xyz3": {"id": "xyz3", "type": "duo", ...},
    ...
}

Prepare

  • Read contribution guidelines
  • Read license information

Identified code changes

TODO


Test cases and code coverage

  • Write unit test to cover added/changed code
  • Update integration tests to cover added/changed code

Document the changes

  • task for updating user guides if needed
  • task for updating installation and configuration guides if needed
  • task for updating developer documentation if needed
  • task for updating technical documentation if needed
@mo-auto mo-auto added comp-jans-orm Component affected by issue or PR kind-feature Issue or PR is a new feature request labels Mar 27, 2024
@nynymike nynymike changed the title feat(jans-orm): add jansAuthenticator feat(jans-orm): add new Person claim jansAuthenticator Mar 27, 2024
yurem added a commit that referenced this issue Mar 28, 2024
…cator #8158

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
yuriyz added a commit that referenced this issue Mar 28, 2024
…ticator (#8167)

feat(jans-core): add new Person attribute and models for jansAuthenticator #8158

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
Co-authored-by: Yuriy M <95305560+yuremm@users.noreply.github.com>
Co-authored-by: YuriyZ <yzabrovarniy@gmail.com>
yurem added a commit that referenced this issue Mar 29, 2024
…cator #8158

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
yuremm pushed a commit that referenced this issue Mar 29, 2024
#8175)

feat(jans-core): add new Person attribute and models for jansAuthenticator #8158

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
yurem added a commit that referenced this issue Mar 29, 2024
…cator #8158

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
yurem added a commit that referenced this issue Mar 29, 2024
#8177)

feat(jans-core): add new Person attribute and models for jansAuthenticator #8158

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
yurem added a commit that referenced this issue Mar 29, 2024
…cator #8158

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
yurem added a commit that referenced this issue Mar 29, 2024
#8183)

feat(jans-core): add new Person attribute and models for jansAuthenticator #8158

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
@yurem yurem changed the title feat(jans-orm): add new Person claim jansAuthenticator feat(jans-core): add new Person claim jansAuthenticator Apr 2, 2024
yurem added a commit that referenced this issue Apr 2, 2024
Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
@mo-auto mo-auto added the comp-jans-core Component affected by issue or PR label Apr 2, 2024
@yurem
Copy link
Contributor

yurem commented Apr 2, 2024

Working data from OTP script:

dn: inum=1234,ou=people,o=jans
objectClass: jansPerson
objectClass: top
inum: 1234
jansExtUid: hotp: S9dO_qKQoOcpPk9GuStlNO9seoA=
jansExtUid: totp: Nv7Dg7aP0wRPJd6NHjx1ai9bN9Y=
jansOTPCache: 255996
jansStatus: active
uid: test
updatedAt: 20240402140234.637Z
jansAuthenticator:
{
  "S9dO_qKQoOcpPk9GuStlNO9seoA=": {
    "id": "S9dO_qKQoOcpPk9GuStlNO9seoA=",
    "type": "hotp",
    "custom": {
      "movingFactor": 3
    }
  },
  "Nv7Dg7aP0wRPJd6NHjx1ai9bN9Y=": {
    "id": "Nv7Dg7aP0wRPJd6NHjx1ai9bN9Y=",
    "type": "totp"
  }
}

yurem added a commit that referenced this issue Apr 2, 2024
Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
yuremm pushed a commit that referenced this issue Apr 2, 2024
* feat(jans-core): add new Person claim jansAuthenticator #8158

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>

* feat(jans-core): add new Person claim jansAuthenticator #8158

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>

---------

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
@yurem
Copy link
Contributor

yurem commented Apr 2, 2024

Models and custom JSON serialization/deserialization are in jans-core in UserAuthenticatorList and UserAuthenticator

New API to work with UserAuthenticator are in jans-core UserAuthenticatorService service:

	public UserAuthenticatorList getUserAuthenticatorList(SimpleUser user);

	public List<UserAuthenticator> getUserAuthenticatorsByType(SimpleUser user, String type);

	public UserAuthenticator getUserAuthenticatorById(SimpleUser user, String id);

	public void addUserAuthenticator(SimpleUser user, UserAuthenticator userAuthenticator);

	public void removeUserAuthenticator(SimpleUser user, UserAuthenticator userAuthenticator);

	public void removeUserAuthenticator(SimpleUser user, String type);

	public UserAuthenticator createUserAuthenticator(String id, String type);

	public UserAuthenticator createUserAuthenticator(String id, String type, Map<String, Object> custom);

	public String formatExternalUid(String id, String type);

	public boolean checkAndMigrateToAuthenticatorList(SimpleUser user);

yurem added a commit that referenced this issue Apr 3, 2024
Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
yurem added a commit that referenced this issue Apr 3, 2024
Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
@ossdhaval
Copy link
Contributor

Hi @yurem, will this have any updates to be made to user documentation?

@yurem
Copy link
Contributor

yurem commented Apr 10, 2024

@ossdhaval I added Pr with documentation #8273

@yurem
Copy link
Contributor

yurem commented Apr 10, 2024

@SafinWasi I think we can close this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp-jans-core Component affected by issue or PR comp-jans-orm Component affected by issue or PR kind-feature Issue or PR is a new feature request
Projects
None yet
Development

No branches or pull requests

4 participants