Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview :

...

Existing requestNew request
channelState ID
userNameExternal User ID
firstNameExternal school (org) ID
lastNameName
phoneRoles
emailphone/email

Proposed solution 1:

...

Existing JWTNew JWT
{
"jti": "261263cd-3a0e-4aee-8faf-6d9d9eb14bb1",
"iss": "c4923f5285ff447cbf13805423a1e98a",
"sub": "manzarul07+110332",
"aud": "https://staging.ntp.net.in",
"iat": 1499405029,
"exp": 1599405029,
"name": "Harish kumar Gangula",
"email": "t4harishkumar16@test.com",
"email_verified": true,
"phone_number": "8884930864",
"phone_number_verified": true,
"redirect_url": "https://staging.ntp.net.in/profile"

}

{
"jti": "261263cd-3a0e-4aee-8faf-6d9d9eb14bb1",
"iss": "<replace with id provided by at registration time>",
"sub": "user_external_id",
"aud": "<base_url>",
"iat": 1498556656,
"exp": 1498560256,
"name": "Some User",
"state_id": "state",
"school_id": "pre_created_school_external_id",
"redirect_uri": "<base_url>/resources",

"version":"v1"
}



Request keyMapped 
State ID channel
External User IDexternalId (identify of user within state system)
External school (org) IDorg external id
NameFirstName

externalIdProvider (Under which system it's unique. here it's state, so provider will be channel)

externalIdType (Type of externalId, example: PAN Card)

Note: externalId , externalIdProvider ,externalIdType  either sent all three or none.

Current SSO login work flow:

...

Since new structure won't have userName ,it has externalId column and now user need to be search using externalId.

Proposed Solution 1 For user search by externalId:

  We already have get user by identity api. As of now this api is supported for email, phone and loginId . We can enhance this api to search user by

...

URI: /user/v1/get/externalId/{externalIdValue}/channelexternalIdProvider/{"channelValue"}/idTypeexternalIdType/{"idTypeValue"}

ProsCons
endpoint will clearly specify attribute and it's valueapart from externalId search , other search won't have those fields

...

 Once user is created using SSO , caller can make another api call to add user to an organisation with provided assign roles.

URI: /orguser/v1/memberrole/addassign


Code Block
languagejs
titleAdd member to Org
{
  "request": {
    "userId": "",
    "organisationId": "",
    "roles": [
      "CONTENTCREATOR",
      "CONTENTREVIEWER",
      "CONTENTCURATION",
      "FLAGREVIEWER"
    ]
  }
}

...