Hi team,
We are currently working on a Proof of Concept (PoC) for the Mobile Messenger SDK (MMSDK) focused on authenticated messaging feature.
Our approach is to obtain the access token and refresh token via Okta native SSO flow, and then passing these tokens to the Vault used by MMSDK. By doing this, we could avoid prompting the user a WebView to login by their username and password to get the auth code.
- Token Authentication: If we manually pass the token to the Vault, will the user be authenticated to Genesys Cloud?
- Custom Vault Integration: As mentioned in the Custom Vault section of the Transport SDK documentation, this can be done with the Transport SDK and we believe the MMSDK is built on top of it, is there a way to pass a custom Vault into MMSDK? If not, are there any plans to support this feature in MMSDK? If this is possible, please disregard question 3.
- Vault Encryption on Android: Based on the source code, it appears that the Transport SDK uses a
DefaultVault
, which relies on standard SharedPreferences
rather than an encrypted SharedPreferences. Could you confirm whether encryption is implemented for the Vault on Android SDK?
- MessagingClient Access & Re authentication: The Mobile Transport SDK documentation states that
MessagingClient.wasAuthenticated
provides session persistence across app restarts. Additionally, the session can be configured without the authorization()
step by calling messagingClient.connectAuthenticatedSession()
.
- How can we access the
MessagingClient
object from MMSDK?
- How does the re-authentication process work within MMSDK if MMSDK has got a valid refresh token?
We appreciate your time and assistance. Looking forward to your response.
Sorry but I'm seeing a "(post deleted by author)" reply. What does it mean?
Hi tai.nguyen,
We are collecting the answers for your question, we get back to you with information as soon as we can.
1 Like
Please let us know if there is any update. Thanks @tamasi878
Hi David, thanks for your answers
-
Is there a plan to allow Mobile Messenger SDK users to implement a custom Vault? This would address most of our requirements.
-
There are many capabilities within MessagingClient
. For example, instead of obtaining a new authCode
each time, we could call messagingClient.connectAuthenticatedSession()
. Could we make MessagingClient
accessible through the Mobile Messenger SDK?
-
I understand that the authorize()
method requires an authCode
, redirectUri
, and codeVerifier
for Genesys to exchange the token. Is there a plan to allow the client to authenticate itself (obtaining accessToken
and refreshToken
from our OpenID provider) and then pass them to the Mobile Messenger SDK for use?
Our expectations:
- The Vault should be encrypted for better security. If a custom Vault is allowed for the Mobile Messenger SDK, the app can handle encryption itself.
- Pass
refreshToken
and accessToken
to the Mobile Messenger SDK via a method or custom Vault. Then, it should function similarly to the Transport you mentioned in your 4th point.
Best regards,
Tai
Hi Tai,
Just wanted to follow up with a few questions related to the demo you showcased on the zoom meeting with David Kempl and Monika Tamasi.
First of all, great proactive thinking outside of the box!
I wonder about your Okta configurations:
- Do you select Web Application or Native Application when you create Okta OIDC application?
- Do you use SSO to get
access
and refresh
tokens?
- It was not clear to me how you were able to get Genesys access and refresh tokens, can you please elaborate on that?