I tried the tutorial on the official site and followed all the steps. If I test the azure bot service from azure portal, it asks for signin and gives me access token. But when I'm trying from Bot emulator, the request url for login seems odd
If I click confirm, it's signing me in directly without redirecting to azure login page and shows me the following
This does not look like an access token. Am I missing something here?
Btw, I just changed the appsettings.json file from the tutorial with my app id and secrets. Nothing else is changed. I've also made the service principle and granted permission. So there should not be any problem. I am just getting started with azure bot service. So any advice will be appreciated :)
Could you pls have a check that if you configed ngrok for your bot emulator ?
I got the same issue on my side if I remove ngrok setting in my bot emulator.Maybe it caused some networks issues while bot emulator communicating with Azure platform.
You can download it from previous link and config it on your bot emulator here :
Hope it helps :)
Related
I'm trying to add some authentication to my bot i followed this article link to do it and i used the AuthBot sample to test it
1- created azure identity provider
2- created connection in azure bot app service for the Azure active directory 2 provider
3- run the bot and test it
and it worked fine and when i tried to use it for first time it redirect me to this page
and i want to allow the user to request access approval and i followed this doc link
but nothing changed and the bot stile redirect me to this page.
is there is something missing?
You need to grant admin consent!
I have a Sonarqube hosted VM in Azure, I tried to integrate with AAD, created the App Registration and given all the details like client ID, Tenant ID, etc. Unfortunately the Sonarqube is hosted without SSL, So i changed the URL from General Settings. But still i'm getting the error "You're not authorized to access this page. Please contact the administrator."
I would suggest checking the limitations for Redirect URIs for Azure AD App Registrations listed here: https://learn.microsoft.com/en-us/azure/active-directory/develop/reply-url
Also make sure the app registration is done correctly. You can follow the steps mentioned here: https://learn.microsoft.com/en-us/graph/auth-register-app-v2
In case the details shared above doesn't help in fixing the authorization error, we would like to understand the actual error code AAD is throwing to SonarCube along with the correlationID and timestamp so that we can check some backend logs based on those.
I am using Flutter for our Mobile application. and I am having trouble with Login user and get Auth token.
I have tried https://medium.com/flutter-community/flutter-azure-authentication-with-ad-b2c-8b76c81dd48e this article approach. My AAD is B2B. But after logged in I get a error in pop up:
Cannot GET /auth/openid/return
Any suggestion or article, documentation would be helpful.
Currently there is no native SDK for Flutter to integrate with Azure AD.
There is already a similar User voice.. You can vote for it or else you can create a new one.
I have used a pub.dev/packages/aad_oauth#-readme-tab this package to get acces token.
Even tough My app service was not b2c, I could successfully logged in and log out.
I have a C# echo bot developed in Visual Studio as per Azure documentation which runs successfully on a bot emulator in desktop. This bot was deployed to Azure and it wouldn't work in web chat or in the "Test in Web Chat" window in Azure portal. It always replies with - couldn't send retry. Could someone please help me out?
This post There was an error sending this message to your bot - Test in Web Chat suggested to check the Messaging endpoint specified and make sure it is same as your using in the bot emulator.
However messaging endpoint in Azure is like https://webappname123.azurewebsites.net/api/messages but in emulator endpoint is a local host http://localhost:3978/api/messages . How can these two match?
Also when I went into channels issue is like "There was an error sending this message to your bot: HTTP status code NotFound"
Is there any place where I could change endpoint URL?
I followed as it is process mentioned in Azure doc for building and deploying Echo bot
Have you added the correct Microsoft App ID and Microsoft App Password in your appsettings.json ?
Your Azure messaging endpoint in azure configuration should be the publicly accessible endpoint, when you are debugging locally, the emulator can authenticate using those Microsoft App ID and Microsoft App Password to reach your service.
When you deploy your solution your bot also authenticates using those credentials.
So make sure those credentials are correct and that your messaging endpoint "https://xxxxxx.azurewebsites.net/api/messages " is working publicly
When you publish your bot, there will be an option as below :
Select Edit App Service Settings.
Add the following details :
MicrosoftAppId : <xxxxx>
MicrosoftAppPassword : <xxxxx>
Click Apply, Ok.
Make sure you remove the Microsoft App Id and Microsoft App Password from appsettings.json, so that it works in bot emulator as well.
Now Publish the bot. It will work at both places.
Hope this is helpful.
I developed a bot with microsoft bot framework nodejs version4. I used azure AD oauth connection for the bot authentication. Initially when I try to login it shows me list of account to authenticate, but now it shows the empty window and does not allow me to select the account, by default it selects recent logged in account.
I does not know why this happens.Need help to solve
It sounds like you're having two issues.
First, you say you're getting a blank sign-in screen in Emulator. Bot Framework Emulator 4.4.1 has a bug involving OAuth cards: https://github.com/microsoft/BotFramework-Emulator/issues/1544
Try configuring Emulator to use a magic code:
Second, you say Skype is using a previously signed-in account. Please refer to the samples in order to see how to sign a user out.
const botAdapter = innerDc.context.adapter;
await botAdapter.signOutUser(innerDc.context, this.connectionName);