Skip to main content


 

Symptoms


Error: The Email Address, Null or Empty does not meet the requirements
 

Diagnoses


AAD did not have an email property populated, K2 will cache the users and if there is no property it will cache an empty email property. When you send a mail via K2 we query the cache for the user’s email property and due to it being empty it fails with the error.

AAD was repopulated with the property but the issue was now that the email is empty in K2 Identity Cache.


 

Resolution

AAD was repopulated with email property, updated the users Resolved Flag in the identity tables for the users that did not resolve or log into K2 yet to allow them to update on the Identity auto thread.

Background
K2 has its own identity cache, basically what this is it’s a cashed version of the user / group and its properties in the K2 db. At first the users in your AAD did not have an email property value, this was cached in K2 and when you used any of these users in a mail event it will return the error you had as the email property is null.

This was populated by your team, but this doesn’t mean its updated in the K2 identity. Some conditions must be true for this to update.
- Users identity must be expired – default Appit settings for this is every 72 hours
- The user must have authenticated with K2 before to enable resolving on the account.

What happens when you have a new user that never used K2 added to SP group and you “sync” the groups?
This will add the new user to the K2 identity cache with all the properties because this user did not exist in the cache and it needs to be assigned a ID in order for the SP Group memberships to reflect.
What happens if you have an existing user as member of a SP group and this user’s properties needs updating and you hit the “Sync” Group.?
In this case sync Group will only refresh the Groups memberships and not he member’s / users identities itself. This is by design. This means the Users identity properties is not update at this stage.

What happens if you remove a user from the SP group and hit the “Sync” Group button.?
This will remove the User as a member of the SP group in the K2 identity cache.

This brings us to the K2 Identity Auto thread – this thread checks for expired identities every 10 minutes. If a user or group is expired when it polls (Reached its 72 hours) then this identity will be refreshed using Asynchronous thread in the K2 Server.
NOTE: this will only be done if the users “Resolve” flag is set to true. This flag is only set to true when the user authenticates with K2 for the first time and will remain true from there on. This is what we hit in the last meeting which I fixed by force refreshing the user’s identities in the Group you used as the mail destination. Users that was added to the K2 Cache as part of a group membership, ie SP Group will be added to the K2 identity but the resolved Flag will not be set to true as this user has never authenticated / used K2. The bad luck here is the user was added with no email property due to the miss config on AAD and the auto thread will not update it as explained above. Once the se users use K2 the auto thread will update them.




 
Be the first to reply!

Reply