Authenticating end users in messaging for the Web Widget and mobile SDK

Return to top

89 Comments

  • Mick O'Donnell
    Zendesk Product Manager

    Hi Justin,

    This is likely to be an issue with your integration, as I don't believe we've any known issues of this nature on the Web Widget. Do you mind opening a Support ticket at support.zendesk.com please (Messaging icon in the lower right corner), and we'll assist you with this issue.

    -2
  • Justin DoCanto

    Hi Mick

    Considering the console error I mentioned shows up even when there is nothing but the code I'm provided by Zendesk to install the messaging widget, and the console error is provided by Zendesk code, I completely disagree.

    That said, I submitted a ticket. Hopefully, they can be more helpful. Thanks

    0
  • moment long

    Zendesk messaging I see doesn't have as many callbacks for us to use as the classic version does.
    How do I know when the exp is about to expire and re-call the loginUser APi?
    Using a timer to keep track and then calling loginUser is a bad solution

    1
  • Santiago Gandolfo
    Community Moderator

    Hi Prakruti Hindia,

    Has the new fix that you mentioned made it so that when the user sends a message from the widget and their external_id is set in the JWT, if there already existed a user with that same external_id then it wouldn't create a new one and instead asign that ticket to that "old" user?

    Cheers,

    Santiago

    5
  • integracao_operador_getrak

    Hi Prakruti Hindia
    When a user sends a widget message and its external_id is set by a JWT authentication, if there is already a user with the same external_id in the base (in the case of a base import, for example), will the application create a new user instead of linking it to the existing one?

    3
  • Piotr Jaworski

    So I've implemented the backend functionality to provide a signed JWT to the client part of the application, then I use the Web Widget API (https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/web/sdk_api_reference/?_ga=2.111275911.280573301.1649945109-889103865.1649945109#authentication) to log the user in, after which in the response I can see that the JWT was successfully decoded. Yet, the `name` and `email` don't get pre-filled in the chat - should I somehow retrieve the users' Zendesk ID in our client application and add it to the JWT? I'd assume that this is the role of the Web Widget API... What might I be doing wrong there?

    0
  • Don Pham

    Hi Zendesk team,

    I using widget classic and facing this issue when I called API: https://id.zopim.com/authenticated/web/jwt and I got this error: "error fetching shared secret"

    I generated SHARED_KEY  in https://textback.zendesk.com/admin/account/security/end_users#messaging . Its right?

     

    0
  • Danny Larsen

    Did anyone solve the issue with not linking users?

    We are also trying to create users via the APi with email and external_id and then identify them via a JWT token. But that just creates a new user without the external_id.

    Pretty useless without this.

    1
  • Kevin Konings

    Danny Larsen we haven't, and since then also moved on to a different solution.

    For us being able to link users in live support use cases to our customer base is absolutely crucial. Neither this thread nor Zendesk Support had yet provided a satisfactory answer to even whether the fact Zendesk Messaging creates duplicate users with not even the external ID but also the same email address is known behaviour, a bug of Zendesk, or should not happen and we were doing something wrong.

    The only feedback so far is that users will be "merged" as soon as the improvement goes live, with no further information on what this means in terms of data conflict resolution, etc.

    It's disappointing there is such a lack of transparency for what probably comes down to the main use case of this feature for most people.

    2
  • Prakruti Hindia
    Zendesk Product Manager

    Has the new fix that you mentioned made it so that when the user sends a message from the widget and their external_id is set in the JWT, if there already existed a user with that same external_id then it wouldn't create a new one and instead asign that ticket to that "old" user?

    Hi Santiago, this will be rolled out in early May. 

    - Prakruti

    1
  • Prakruti Hindia
    Zendesk Product Manager

    Hi all, 

    Wanted to drop an update and provide more information on the upcoming fix (early May). Currently, the external id is surfaced on hover over the authentication badge. With the fix, the external id will be surfaced against the external id field in the user profile. If there is an existing user with the same external id as provided via API, the messaging ticket will reference the existing user. 

    We will be adding details on conflict resolution to this article once it is rolled out. 

    - Prakruti

    2
  • Zakhar

    Hello, Prakruti Hindia
    Just wanted to inquire about `external_id` `JWT` issue.
    Upcoming fix planned to early May - was it rolled out? 
    Or, when can we expect it?

    2
  • Santiago Gandolfo
    Community Moderator

    Hi Prakruti Hindia, has the external_id fix been postponed?

    Cheers!

    1
  • Amy Spagnolo

    +1 on the above, any news? It is causing a very bad experience for our customers and we're getting complaints because we don't auto auth through the widget. 

    0
  • Prakruti Hindia
    Zendesk Product Manager

    Hi everyone, 

    Apologies for the late response. I was hoping my next update would be a positive one. Unfortunately, it is taking longer than expected to roll out external id in user profile. I will update this thread in a few days with target rollout timeline. 

    Currently, external id is displayed on hover over the authenticated badge - https://support.zendesk.com/hc/en-us/articles/4411666638746/comments/4433112143130. (For new followers / readers of this post)

    - Prakruti

    0
  • Ahmed Ur Rehman

    https://support.zendesk.com/hc/en-us/community/posts/4640250446362-401-Unauthorized-Login-via-Messaging-SDK

    Receiving 401 Unauthorised error when attempting \

    Zendesk.loginUser(JWT, callback, failure)
    0
  • Mick O'Donnell
    Zendesk Product Manager

    Hi Ahmed,

    Thanks for writing in! I've replied on the post that you have linked to.

    1
  • Shayan Moussawi

    Hello Prakruti Hindia

    Do you have a target rollout timeline for associating authenticated end users with already created end users via the external ID?

    This is really a key feature, without it, authentication kind of seems pointless, as all Tickets created with authentication will not be properly linked to the end-user with contextual information etc. 

     

     

    5
  • Zakhar

    Hello,

    Prakruti Hindia, is there any update on the fix rollout time? 

    We ve prepared a feature within our App, that is blocked by the fix - we are waiting for it.

     

    2
  • anna.kalinichenko

    Hi Prakruti Hindia

    I'm joining all the previous inquiries on the date of the fix. I would appreciate knowing at least if this isn't something that's going to happen this month, so that we wouldn't wait in vain and move to another solution.

    Thanks

    1
  • Francis Morissette

    Prakruti Hindia

    It seems that the email is not carried over from the JWT to the created profile when Messaging with authentication is enabled. The external_id does show, but the email is not added to contacts, AND it creates a duplicate user instead of using the user with the same email that already exists. See ticket ID #10490436

    3
  • Prakruti Hindia
    Zendesk Product Manager

    Hi folks,

    Wanted to drop a general update for associating external id with user profile and connecting messaging conversations to users based on it.  This is our top priority and we are working on it. It is taking longer than expected. We understand it is critical to your workflows. I will drop an update soon with our new timelines. 

    - Prakruti

    0
  • Ran Geller

    After implementing end-user authentication, we experience the same situation - the end-user email is not captured.

    It is annoying as it is impossible to switch from messaging to email and have unread messages automatically emailed when the end-user leaves the messaging session.

    To overcome this, we configured the external_id to have the email, and the agent must copy it when hovering over the authentication badge and then update it in the end-user profile. 

    What is the ETA for removing this limitation?

     

     

     

     

     

    2
  • Zakhar

    Hello Prakruti Hindia,
    Could you please share us with updates if they are since latest news at June 15.


    3
  • Zakhar

    Hello, Prakruti Hindia

    Could you please share any news about the issue and it's resolution? 
    It's already 3 weeks passed since latest updated. 
    We are blocked waiting for the fix.

    5
  • Prakruti Hindia
    Zendesk Product Manager

    Hi everyone,

    Thank you for your patience. As I mentioned earlier, we have prioritised support for external id, which will associate external id with user profile and connecting messaging conversations to users based on it.  We are targeting early Aug for the rollout. This will not include support for email. I will provide an update on email at later date. 

    - Prakruti

    1
  • Carlton

    We're not even seeing the badge. Login is returning success with a correct externalId value on the swift object, but I don't see the badge in the dashboard anywhere.

    0
  • Zakhar

    Hello, Prakruti Hindia

    Are there any updates, timelines
    Please share some insights, so we were calm.
    Even though the fix is really hot topic for us.

    2
  • Anthony Moynet

    Why I didn't see any Messagin tab in Account > Security > End-user ?

    0
  • Jo Warren

    Justin DoCanto - Did you ever figure out your issue? I'm having a very similar problem. Get an error unless I wrap the auth function in a try/catch and the auth itself isn't working. The function IS running though because I can hit the debugger if I put it right before the callback.

    window.zE('messenger', 'loginUser', function (callback) {
    callback(TOKEN)
    })
    0

Please sign in to leave a comment.

Powered by Zendesk