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-config-api): api to remove 2FA creds for the users. #9145

Closed
mjatin-dev opened this issue Aug 8, 2024 · 5 comments
Closed

feat(jans-config-api): api to remove 2FA creds for the users. #9145

mjatin-dev opened this issue Aug 8, 2024 · 5 comments
Assignees
Labels
comp-jans-config-api Component affected by issue or PR enhancement kind-feature Issue or PR is a new feature request

Comments

@mjatin-dev
Copy link
Contributor

mjatin-dev commented Aug 8, 2024

Parent issue# GluuFederation/flex#1747

chat link: https://chat.gluu.org/group/service_admin_ui?msg=BsWv2LJtb7n3GFAsa

We need API in config-api to delete 2FA credentials for each user.

Database details of 2FA cred data

project table Columns
Fido2 jansFido2RegistrationEntry jansFido2RegistrationEntry.jansDeviceData
@mo-auto mo-auto added comp-jans-config-api Component affected by issue or PR kind-feature Issue or PR is a new feature request labels Aug 8, 2024
@pujavs
Copy link
Contributor

pujavs commented Aug 12, 2024

@mjatin-dev, can you share how to populate device data for a user so that i can test the delete functionality?

@mjatin-dev
Copy link
Contributor Author

mjatin-dev commented Aug 12, 2024

@pujavs , Please use this endpoint /fido2/registration/entries/username to get list of registered fido devices and use id key comes in response to delete respective device data.

@pujavs
Copy link
Contributor

pujavs commented Aug 13, 2024

@mjatin-dev id you install new setup then by default jansFido2RegistrationEntry.jansDeviceData is blank and hence asking you for way to populate the same.
image

Alternatively you can share a valid json for the same so that i can manually update the same.

@mjatin-dev
Copy link
Contributor Author

Sure, you can use that response -

[
{
"dn": "jansId=dbec5591-0389-42e1-a180-75338c74fadf,ou=fido2_register,inum=8d1cde6a-1447-4766-b3c8-16663e13b458,ou=people,o=jans",
"id": "dbec5591-0389-42e1-a180-75338c74fadf",
"challange": "JUF46EU_gddXwe1NDY6x7YFzjXE6sHoKjmFq_tIaMDM",
"challengeHash": 79228,
"creationDate": "2024-07-31T18:20:49",
"userInum": "8d1cde6a-1447-4766-b3c8-16663e13b458",
"rpId": "https://admin-ui-test.gluu.org",
"deletable": false,
"publicKeyId": "DTZJzyMiXGMZZchJNh6Te5x9-pHxOYUy-HU_8uZsoGC1xKVH13YynRLai9RYXEOKf8GFXuz5glu3WCeXAtXe3w",
"publicKeyIdHash": 314221,
"registrationData": {
"createdDate": "2024-07-31T18:20:49",
"updatedDate": "2024-07-31T19:00:48",
"createdBy": "admin",
"updatedBy": "admin",
"username": "admin",
"domain": "admin-ui-test.gluu.org",
"userId": "UWaqAphh6JejDOggrzn5pDN6Ara9Bh0h8KDQilufpPs",
"challenge": "JUF46EU_gddXwe1NDY6x7YFzjXE6sHoKjmFq_tIaMDM",
"attenstationRequest": "{"super_gluu_request":true,"super_gluu_request_mode":"two_step","super_gluu_app_id":"https://admin-ui-test.gluu.org","username":"admin","displayName":"admin","session_id":"4ed2c4a5-d2e3-4e84-a58d-b7f6563bc55e","attestation":"direct"}",
"attenstationResponse": "{"super_gluu_request":true,"super_gluu_request_mode":"two_step","type":"public-key","response":{"deviceData":"eyJuYW1lIjoiU00tTTMxNUYiLCJvc19uYW1lIjoicSIsIm9zX3ZlcnNpb24iOiIxMCIsInBsYXRmb3JtIjoiYW5kcm9pZCIsInB1c2hfdG9rZW4iOiJmV2tCYmJMalQ5ZVdpZ2lnU3hWTnZLOkFQQTkxYkdLdDd3Nnc2Y0l0OWNhZTNTMVdaYkNtdmpWVFg1bWpjTHUzZXowVDFxM29kN2JFZjJyWGVfQzRmQkt1WGVBMVVxVEpiV3phbnQtSUZDVkdJZnJ2SnRrVXdTN3ZkZEhnakt1SUEyQVo0X0RMYlNlaWFMSmpzeTYyVFBIZGpmOU1XaDB2NkhQIiwidHlwZSI6Im5vcm1hbCIsInV1aWQiOiIxYzM1NGUxOC01MGViLTMxZWUtYmY1Mi01YzM5MjFiZDNiMjYifQ","clientDataJSON":"eyJjaGFsbGVuZ2UiOiJKVUY0NkVVX2dkZFh3ZTFORFk2eDdZRnpqWEU2c0hvS2ptRnFfdElhTURNIiwib3JpZ2luIjoiaHR0cHM6Ly9hZG1pbi11aS10ZXN0LmdsdXUub3JnIiwidHlwZSI6Im5hdmlnYXRvci5pZC5maW5pc2hFbnJvbGxtZW50In0","attestationObject":"v2NmbXRzZmlkby11MmYtc3VwZXItZ2x1dWdhdHRTdG10v2N4NWOBeQQETUlJQy96Q0NBcVdnQXdJQkFnSUNFQUV3Q2dZSUtvWkl6ajBFQXdJd2dhQXhDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJREFKVVdERVJNQThHQTFVRUNnd0lSMngxZFNCSmJtTXhLakFvQmdOVkJBc01JVWRzZFhVZ1NXNWpJRk5ISUVObGNuUnBabWxqWVhSbElFRjFkR2h2Y21sMGVURWtNQ0lHQTFVRUF3d2JSMngxZFNCSmJtTWdVMGNnU1c1MFpYSnRaV1JwWVhSbElFTkJNUjh3SFFZSktvWklodmNOQVFrQkZoQnpkWEJ3YjNKMFFHZHNkWFV1YjNKbk1CNFhEVEl6TURNd056RTBNalV3TjFvWERUSTJNRFF3TlRFME1qVXdOMW93Z2JFeEN6QUpCZ05WQkFZVEFsVlRNUXN3Q1FZRFZRUUlEQUpVV0RFUE1BMEdBMVVFQnd3R1FYVnpkR2x1TVJFd0R3WURWUVFLREFoSGJIVjFJRWx1WXpFcU1DZ0dBMVVFQ3d3aFIyeDFkU0JKYm1NZ1UwY2dRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1TVNRd0lnWURWUVFEREJ0VFJ5QkhiSFYxSUVsdVl5QlRSeUJCYm1SeWIybGtJRkJ5YjJReEh6QWRCZ2txaGtpRzl3MEJDUUVXRUhOMWNIQnZjblJBWjJ4MWRTNXZjbWN3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFUcFNWb1R5SThEM29EVzNMZmRBTG5hZkdQK3FpT2xleTRhVFRTYlFVbVVzalJrUnJHSU9ISHhrVlVjd2txTGxyZ3pkWE1FNEYyUHJ5emdSaURoOWJWbzRHN01JRzRNQWtHQTFVZEV3UUNNQUF3RVFZSllJWklBWWI0UWdFQkJBUURBZ2VBTURNR0NXQ0dTQUdHK0VJQkRRUW1GaVJQY0dWdVUxTk1JRWRsYm1WeVlYUmxaQ0JEYkdsbGJuUWdRMlZ5ZEdsbWFXTmhkR1V3SFFZRFZSME9CQllFRkYvNGtINUZCUm9CS0NIWVljb0U2QXNEZXpwVE1COEdBMVVkSXdRWU1CYUFGTGRod1lyVDZqRUNXTDI0TVhvV0ZXcUlyVzh3TUE0R0ExVWREd0VCL3dRRUF3SUZvREFUQmdOVkhTVUVEREFLQmdnckJnRUZCUWNEQWpBS0JnZ3Foa2pPUFFRREFnTklBREJGQWlBcEFKVDZKb0F4WlRBSzRGQm0wZVRTR0ZDQ3BEcUZHcXBtdHZJaWJJa1MzQUloQUpVZ01lMTRBbWo5b0t1cXUzS3JlaFhxUXVOZHBpem5xd3BtRWh6QTd3ZWZjc2lnWEcwRQIgctIRyIYzLJRcquT8GBQ7DR0RuXddRo76yNmvtVNsoRgCIQDBfbw5ddxaKtiEEClqgGBBaqOgX-D-yuado51K-2lBF_9oYXV0aERhdGFYzZI-L9TtvvSwxSt4bS_rQbyy4n9DCWmQEif4BgsbkFxWQQAAAAAAAAAAAAAAAAAAAAAAAAAAAEANNknPIyJcYxllyEk2HpN7nH36kfE5hTL4dT_y5mygYLXEpUfXdjKdEtqL1FhcQ4p_wYVe7PmCW7dYJ5cC1d7fv2ExAmEzJmItMQFiLTJYIB23Km61M_Q5GKs_n5uz28oP-ozBkyLYTTzCx3n8xEWcYi0zWCBCAuf34KhVij3e8xRY9gSgmSFtkDt9_fNgr1nB06x4Gf__"},"super_gluu_request_cancel":false,"id":"DTZJzyMiXGMZZchJNh6Te5x9-pHxOYUy-HU_8uZsoGC1xKVH13YynRLai9RYXEOKf8GFXuz5glu3WCeXAtXe3w"}",
"uncompressedECPoint": "v2ExAmEzJmItMQFiLTJYIB23Km61M_Q5GKs_n5uz28oP-ozBkyLYTTzCx3n8xEWcYi0zWCBCAuf34KhVij3e8xRY9gSgmSFtkDt9_fNgr1nB06x4Gf8",
"publicKeyId": "DTZJzyMiXGMZZchJNh6Te5x9-pHxOYUy-HU_8uZsoGC1xKVH13YynRLai9RYXEOKf8GFXuz5glu3WCeXAtXe3w",
"type": "public-key",
"status": "registered",
"counter": 2,
"attestationType": "fido-u2f-super-gluu",
"signatureAlgorithm": -7,
"applicationId": "https://admin-ui-test.gluu.org"
},
"counter": 2,
"registrationStatus": "registered",
"deviceData": {
"uuid": "1c354e18-50eb-31ee-bf52-5c3921bd3b26",
"type": "normal",
"platform": "android",
"name": "SM-M315F",
"os_name": "q",
"os_version": "10",
"push_token": "fWkBbbLjT9eWigigSxVNvK:APA91bGKt7w6w6cIt9cae3S1WZbCmvjVTX5mjcLu3ez0T1q3od7bEf2rXe_C4fBKuXeA1UqTJbWzant-IFCVGIfrvJtkUwS7vddHgjKuIA2AZ4_DLbSeiaLJjsy62TPHdjf9MWh0v6HP"
},
"baseDn": "jansId=dbec5591-0389-42e1-a180-75338c74fadf,ou=fido2_register,inum=8d1cde6a-1447-4766-b3c8-16663e13b458,ou=people,o=jans"
},
{
"dn": "jansId=96c4a338-f208-4337-917b-94d6ea5e8e04,ou=fido2_register,inum=8d1cde6a-1447-4766-b3c8-16663e13b458,ou=people,o=jans",
"id": "96c4a338-f208-4337-917b-94d6ea5e8e04",
"challange": "2U3GpkG_wuKCKiB65t2WJ7g3DJ-3ZV7tpAUnC3ibSJY",
"challengeHash": 72373,
"creationDate": "2024-08-02T15:34:07",
"userInum": "8d1cde6a-1447-4766-b3c8-16663e13b458",
"rpId": "https://admin-ui-test.gluu.org/jans-casa",
"deletable": false,
"displayName": "admin-ui",
"publicKeyId": "cNUVL_PHpTDS-_DgirAji8dTcRoYoDSrafGV-8LkMr_jIbtD8KcoEmk83ytmgUdJEPRJ5aoknqrRd4psUrfTFA",
"publicKeyIdHash": 328859,
"registrationData": {
"createdDate": "2024-08-02T15:34:07",
"updatedDate": "2024-08-02T15:34:08",
"createdBy": "admin",
"updatedBy": "admin",
"username": "admin",
"domain": "admin-ui-test.gluu.org",
"userId": "5nYEeGSiUuLJX5bANsJeohnqricS4_wJKRHa7wxfsx0",
"challenge": "2U3GpkG_wuKCKiB65t2WJ7g3DJ-3ZV7tpAUnC3ibSJY",
"attenstationRequest": "{"super_gluu_request":true,"super_gluu_request_mode":"two_step","super_gluu_app_id":"https://admin-ui-test.gluu.org/jans-casa","username":"admin","displayName":"admin","session_id":"295e2541-3b75-4715-ac54-2822fd8601b3","attestation":"direct"}",
"attenstationResponse": "{"super_gluu_request":true,"super_gluu_request_mode":"two_step","type":"public-key","response":{"deviceData":"eyJwdXNoX3Rva2VuIjoiNzQ3ZjBlZTlkYmRiZTEwOGVjNGIxNThjNzM2NTQ1NzJhNzI2NWI0YzhmMjAxMDE5NTI2MjllYzMwNDFhNDRkZSIsInBsYXRmb3JtIjoiaW9zIiwib3NfdmVyc2lvbiI6IjE3LjUuMSIsInV1aWQiOiIzOEFFQjJBMS0wMkExLTRFNUYtQkEyQi1BQzA4MzM0NjFENTkiLCJvc19uYW1lIjoiaU9TIiwidHlwZSI6ImlQaG9uZSIsIm5hbWUiOiJpUGhvbmUifQ==","clientDataJSON":"eyJjaGFsbGVuZ2UiOiIyVTNHcGtHX3d1S0NLaUI2NXQyV0o3ZzNESi0zWlY3dHBBVW5DM2liU0pZIiwib3JpZ2luIjoiaHR0cHM6Ly9hZG1pbi11aS10ZXN0LmdsdXUub3JnIiwidHlwZSI6Im5hdmlnYXRvci5pZC5maW5pc2hFbnJvbGxtZW50In0","attestationObject":"v2NmbXRzZmlkby11MmYtc3VwZXItZ2x1dWdhdHRTdG10v2N4NWOBeQP_TUlJQyt6Q0NBcUdnQXdJQkFnSUNFQU13Q2dZSUtvWkl6ajBFQXdJd2dhQXhDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJREFKVVdERVJNQThHQTFVRUNnd0lSMngxZFNCSmJtTXhLakFvQmdOVkJBc01JVWRzZFhVZ1NXNWpJRk5ISUVObGNuUnBabWxqWVhSbElFRjFkR2h2Y21sMGVURWtNQ0lHQTFVRUF3d2JSMngxZFNCSmJtTWdVMGNnU1c1MFpYSnRaV1JwWVhSbElFTkJNUjh3SFFZSktvWklodmNOQVFrQkZoQnpkWEJ3YjNKMFFHZHNkWFV1YjNKbk1CNFhEVEl6TURNd056RTBNekl6TkZvWERUSTJNRFF3TlRFME16SXpORm93Z2EweEN6QUpCZ05WQkFZVEFsVlRNUXN3Q1FZRFZRUUlEQUpVV0RFUE1BMEdBMVVFQnd3R1FYVnpkR2x1TVJFd0R3WURWUVFLREFoSGJIVjFJRWx1WXpFcU1DZ0dBMVVFQ3d3aFIyeDFkU0JKYm1NZ1UwY2dRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1TVNBd0hnWURWUVFEREJkVFJ5QkhiSFYxSUVsdVl5QlRSeUJKVDFNZ1VISnZaREVmTUIwR0NTcUdTSWIzRFFFSkFSWVFjM1Z3Y0c5eWRFQm5iSFYxTG05eVp6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJJdUxkY1dRVGRXY2pIZ2pUM05FRnR0S2grUTByRXl3MVdzeUZJZUFsNUpCZUZPanZWTUNoMThyK1ZwbGNoWHVFc1BDQUJ2dXhId3dieDhBT1dvZVBjaWpnYnN3Z2Jnd0NRWURWUjBUQkFJd0FEQVJCZ2xnaGtnQmh2aENBUUVFQkFNQ0I0QXdNd1lKWUlaSUFZYjRRZ0VOQkNZV0pFOXdaVzVUVTB3Z1IyVnVaWEpoZEdWa0lFTnNhV1Z1ZENCRFpYSjBhV1pwWTJGMFpUQWRCZ05WSFE0RUZnUVVFM3pUVTRDU3NTL0JhTVZPZ2U0dHpwTGh2WVF3SHdZRFZSMGpCQmd3Rm9BVXQySEJpdFBxTVFKWXZiZ3hlaFlWYW9pdGJ6QXdEZ1lEVlIwUEFRSC9CQVFEQWdXZ01CTUdBMVVkSlFRTU1Bb0dDQ3NHQVFVRkJ3TUNNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJQVBrNlRDaTc5dUtVa2JJLzVmMzFYT29SU1JYV1RDV1VlditwZ3F2ZUxhUUFpRUFwRVZsMEpSZkpsZUticXB3SkxBNVBzRWg3bDl4SkU2SHlOMWtac2ZrbkJRY3NpZ1hIMEYCIQDLSqDrHpHYTtEn8ZjQ0KH3nrwKhSf6-HiQFkav3J0KeQIhALS1u8cJQyIX5nyBYfKnIIGzCfnlQ45tlump7hYpK6-z_2hhdXRoRGF0YVjNkj4v1O2-9LDFK3htL-tBvLLif0MJaZASJ_gGCxuQXFZBAAAAAAAAAAAAAAAAAAAAAAAAAAAAQHDVFS_zx6Uw0vvw4IqwI4vHU3EaGKA0q2nxlfvC5DK_4yG7Q_CnKBJpPN8rZoFHSRD0SeWqJJ6q0XeKbFK30xS_YTECYTMmYi0xAWItMlggvWfFFIUvYiwEe_JHSUbvwUY6uIbs4JM7fuC7TmYdcOJiLTNYIBQkPnXfPJeOeRO-jfk8LRQ6KGB5v5d29Yt216Ld0VQ3__8"},"super_gluu_request_cancel":false,"id":"cNUVL_PHpTDS-_DgirAji8dTcRoYoDSrafGV-8LkMr_jIbtD8KcoEmk83ytmgUdJEPRJ5aoknqrRd4psUrfTFA"}",
"uncompressedECPoint": "v2ExAmEzJmItMQFiLTJYIL1nxRSFL2IsBHvyR0lG78FGOriG7OCTO37gu05mHXDiYi0zWCAUJD513zyXjnkTvo35PC0UOihgeb-XdvWLdtei3dFUN_8",
"publicKeyId": "cNUVL_PHpTDS-_DgirAji8dTcRoYoDSrafGV-8LkMr_jIbtD8KcoEmk83ytmgUdJEPRJ5aoknqrRd4psUrfTFA",
"type": "public-key",
"status": "registered",
"counter": 0,
"attestationType": "fido-u2f-super-gluu",
"signatureAlgorithm": -7,
"applicationId": "https://admin-ui-test.gluu.org/jans-casa"
},
"counter": 0,
"registrationStatus": "registered",
"deviceData": {
"uuid": "38AEB2A1-02A1-4E5F-BA2B-AC0833461D59",
"type": "iPhone",
"platform": "ios",
"name": "iPhone",
"os_name": "iOS",
"os_version": "17.5.1",
"push_token": "747f0ee9dbdbe108ec4b158c73654572a7265b4c8f20101952629ec3041a44de"
},
"baseDn": "jansId=96c4a338-f208-4337-917b-94d6ea5e8e04,ou=fido2_register,inum=8d1cde6a-1447-4766-b3c8-16663e13b458,ou=people,o=jans"
},
{
"dn": "jansId=512d7b2c-89ea-4be1-92af-cb114e730f6d,ou=fido2_register,inum=8d1cde6a-1447-4766-b3c8-16663e13b458,ou=people,o=jans",
"id": "512d7b2c-89ea-4be1-92af-cb114e730f6d",
"challange": "BnDl0uYRNYObEug3z6PjiVc9VYjAiDONra62mjXIwBk",
"challengeHash": 78955,
"creationDate": "2024-08-07T10:23:14",
"userInum": "8d1cde6a-1447-4766-b3c8-16663e13b458",
"rpId": "admin-ui-test.gluu.org",
"deletable": false,
"publicKeyId": "gaEcBxaTkMBUsJt2pvvxglJzVMHxXUzEK2lZzYVF5lQ",
"publicKeyIdHash": 81724,
"registrationData": {
"createdDate": "2024-08-07T10:23:14",
"updatedDate": "2024-08-07T10:27:15",
"createdBy": "admin",
"updatedBy": "admin",
"username": "admin",
"domain": "admin-ui-test.gluu.org",
"userId": "OjvEsPNnDZ7xTm3Xwkf7-UPSFJQ-NXqlOd_Ck12pSeY",
"challenge": "BnDl0uYRNYObEug3z6PjiVc9VYjAiDONra62mjXIwBk",
"attenstationRequest": "{"attestation":"none","displayName":"admin","username":"admin"}",
"attenstationResponse": "{"id":"gaEcBxaTkMBUsJt2pvvxglJzVMHxXUzEK2lZzYVF5lQ","isSuccessful":true,"response":{"attestationObject":"o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVikjZHVp5tBCFVmGadN9klm_j50zRn-V4OMG9wljvmxv3dBAAAAAAAAAAAAAAAAAAAAAAAAAAAAIIGhHAcWk5DAVLCbdqb78YJSc1TB8V1MxCtpWc2FReZUpQECAyYgASFYIHW-ErWvaL5_IWvM5HFVokedxFxbPjzA3On7CyYFFAUcIlggvm5iufi3RRGPHlEtlUcnTLbhrdCMPL2zHsZK5XqfZvg=","clientDataJSON":"eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiQm5EbDB1WVJOWU9iRXVnM3o2UGppVmM5VllqQWlET05yYTYybWpYSXdCayIsIm9yaWdpbiI6Imh0dHBzOi8vYWRtaW4tdWktdGVzdC5nbHV1Lm9yZyJ9"},"type":"public-key"}",
"uncompressedECPoint": "pQECAyYgASFYIHW-ErWvaL5_IWvM5HFVokedxFxbPjzA3On7CyYFFAUcIlggvm5iufi3RRGPHlEtlUcnTLbhrdCMPL2zHsZK5XqfZvg",
"publicKeyId": "gaEcBxaTkMBUsJt2pvvxglJzVMHxXUzEK2lZzYVF5lQ",
"type": "public-key",
"status": "registered",
"counter": 1,
"attestationType": "none",
"signatureAlgorithm": 0,
"applicationId": "admin-ui-test.gluu.org"
},
"counter": 1,
"registrationStatus": "registered",
"baseDn": "jansId=512d7b2c-89ea-4be1-92af-cb114e730f6d,ou=fido2_register,inum=8d1cde6a-1447-4766-b3c8-16663e13b458,ou=people,o=jans"
}
]

@pujavs
Copy link
Contributor

pujavs commented Aug 21, 2024

Fixed via PR 9240

image
image

@pujavs pujavs closed this as completed Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp-jans-config-api Component affected by issue or PR enhancement kind-feature Issue or PR is a new feature request
Projects
None yet
Development

No branches or pull requests

3 participants