Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Action based message extension with SSO #1284

Open
jamzi opened this issue Jun 4, 2024 · 3 comments
Open

Action based message extension with SSO #1284

jamzi opened this issue Jun 4, 2024 · 3 comments

Comments

@jamzi
Copy link

jamzi commented Jun 4, 2024

I'm implementing an action-based message extension (three dots on the message in a chat).

How can I add SSO in order to get the user token in the TeamsActivityHandler methods?

The example for search-based message extension shows how to do it (handleTeamsMessagingExtensionQuery and handleMessageExtensionQueryWithSSO), but there are no examples on how to do it with action based methods (handleTeamsMessagingExtensionSubmitAction).

Thanks!

@wenytang-ms
Copy link
Contributor

wenytang-ms commented Jun 6, 2024

Hi @jamzi thanks for you feedback.
The SSO work flow has limitation on Teams Message Extension. For link unfurling and Search Commands, it follows the silent auth work flow, you may use handleMessageExtensionQueryWithSSO and handleMessageExtensionQueryWithSSO to do SSO. But for action based message extension, the silent auth workflow is not natively supported.
You may reference this wiki for more detail.

@jamzi
Copy link
Author

jamzi commented Jun 7, 2024

@wenytang-ms Thanks for a quick answer. Is there a way to workaround this limitation?

I was thinking something like this, either:

a) Use some kind of methods from 'botbuilder-js' to achieve basically what handleMessageExtensionQueryWithSSO is doing?
b) Is there an example on how to create a token from the available data and send it to 3rd party BE?

@wenytang-ms
Copy link
Contributor

wenytang-ms commented Aug 20, 2024

@jamzi Sorry for the late reply.
since the SSO only work for query or link unfurling, if you want to do auth flow in action based, you may return a composeExtension object directly as auth flow, you may refer the following snippites.

composeExtension: {
    type: "auth",
    suggestedActions: {
      actions: [
        {
          type: "openUrl",
          value: signInLink,
          title: "Message Extension OAuth",
        },
     ],
  },
},

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants