is it possible to secure a bot from microsofts botframework with azure ad or just active directory?
Will it be possible to just publish the bot for one company?
Kind regards,
prog1
Try taking a look at the Facebook Auth sample bot (here). It showcases OAuth authentication using Facebook graph API. (I've seen a bot that uses Active Directory, but don't have a sample handy.)
Related
Does the messaging endpoint of bot need to be anonymous?
Any help is greatly appreciated.
If you are using bot framework v4 SDK and when you register a bot in the Azure portal, for example via the Bot Channels Registration, this authentication automatically performed. So, you don't need to explicitly write any code. If you want to restrict the use of bot to users belonging to your tenant you can add authentication to a bot using OAuth. Please go through this documentation for reference.
My understanding is that requests to your /api/messages endpoint include a JWT bearer token issued by the bot framework. The SDK will check this for you.
This appears to be the code where it performs the validation:
https://github.com/microsoft/botbuilder-js/blob/fc5dcc535855cf453b0ebf373121277d824ff840/libraries/botbuilder/src/botFrameworkAdapter.ts#L1180
If you're implementing without the SDK, then you will need to do the JWT verification.
I have created a sample Echo bot for testing i've followed the given instructions in the MS tutorial site.
Created a web app service
Downloaded the MS bot framework v4 SDK - Echo Bot
Got the Publishing profile
Published the bot using visual studio
tested the chat bot When i test my bot in Test in Web Chat option in bot channels registration.
before that i tested in bot framework emulator, it was working fine as expected.
I checked the microsoft appid and password, it is all fine.
what am i missing to look on. can anyone please guide me.
Finally I've found the issue, though it a minor mistake. I wanted to update it here since many new Azure Bot users might do this mistake like me.
It was due to the option which i selected in while doing the app registration, After selecting the third option for Who can use this application or access this API?
It always good to select Multitenant option to make the bot to work for everyone.
If your requirement is restricted to one particular tenant then you should select the first option. But it is not in my case.
Accounts in any organizational directory (Any Azure AD directory -
Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)
I have a working Teams bot, using the nodejs botbuilder-teams SDK v3, and registered at dev.botframework.com and apps.dev.microsoft.com. I have created a Teams app that contains it (using the App Studio app in Teams), and installed it in an Office 365 developer tenant of which I am the admin, and the bot can send and receive messages with no problem.
When the bot is added to a team, I get the "conversationUpdate"/"teamMemberAdded" message, and use the fetchMembers() call from the teams bot connector to retrieve basic info for each member, including "givenName", "surname", "email", etc. However, I don't get the "jobTitle" attribute. Is there any way to retrieve jobTitle through the Teams bot SDK?
Alternatively, could I make MSGraph API calls (say, /v1.0/groups/{group-id-for-teams}/members)? Is there a good example of a nodejs serverside app like a bot calling the MSGraph API? The authentication part seems somewhat murky to me.
jobTitle is not part of roster details. You need to call Graph APIs to fetch additional details.
Here is Node.js sample for bot authentication. If you are using Azure for bot registration then please take a look at Azure Bot Service for Authentication in Teams documentation.
i want to create a chat bot using LUIS (ms bot framework) that should have to be integrated with the notification of stock,sports and API like Facebook , twitter notification.
please elaborately explain i am a beginner.
I would suggest you to go through the Graph Authentication and LUIS samples from the bot builder sample repository on GitHub.
BotBuilder Samples
I am working on a Xamarin App in which we need to have a feature as Open chat room or discussion room. I was exploring the slack api and interested to integrate the slack api in the App.
My clarification is, on integrating slack client api in the app, whether chat feature will be enabled? Whether my app registered users can utilize the slack chat room ? Or do the app registered users has also to register in the slack?
The Slack API is not much use if you do not plan to work with the core Slack application as well. So if you are just looking to extend your own app with a chat features, the Slack API will not help you much. To utilize the Slack chat features, you need to setup your own Slack team and your users will need to register on the Slack team and use it. The Slack API mainly enables one to build automation and bots around a Slack team.
QuickBlox is another 3rd-party SDK that you can use.
xamarin chat sample https://quickblox.com/developers/Sample-chat-xamarin/