SAP / gigya-android-sdk

SAP CDC (Gigya) android sdk for mobile
Apache License 2.0
19 stars 13 forks source link

getAccount returns incorrect signatureUid, signatureTimestamp, or uid #34

Closed jarrettroth-png closed 1 year ago

jarrettroth-png commented 2 years ago

There is a discrepancy between the android sdk, the ios sdk, and the REST interface when attempting to use thegetAccount function that returns an account containing the uidsignature, uid, and signaturetimestamp.

It is unclear as to what is actually occurring in the code, because the codes are unique for each call to the getAccount() function. But, what is clear is that using the sdk method getAccount() returns a result that is different in such a way such that it will not work with the other systems that perform sso authentication.

I have confirmed this to be an issue by attempting to update (and downgrade) the sdk and issuing the getAccount call, which I then attempted to authenticate with and have failed.

I then had attempted the same call, with the same information on iOS, this information was successful in allowing the user to login.

At that point I then used the REST api within the android application, used the send function along with 'accounts.getAccountInfo' in the android application. Extracting the same 3 fields from the result of the REST api and using them produced a valid set of information to allow the user to be logged in.

tal-mi commented 2 years ago

Have you used the invalidate cache in your interface to make the call? public void getAccount(final boolean invalidateCache, GigyaCallback<T> gigyaCallback)