OfficeDev / microsoft-teams-apps-icebreaker

Icebreaker is an open-source app for Microsoft Teams that helps the whole team get closer by pairing members up every week at random to meet for coffee, burgers, pizza, or a walk around the block.
MIT License
174 stars 206 forks source link

Icebreaker non functional #270

Closed bennystrauch closed 2 years ago

bennystrauch commented 2 years ago

After the deployment we are not able to work with icebreaker. All azure Items are healthy and running but in MS Teams the icebreaker is not working. Also over the test webchat pane in Azure the bot is not answering. The error appeared multi times also after a few redeployments. How can we debug this?

daniel-nov commented 2 years ago

Try going to the Logic App, see what's the response status and message your are getting. Is it completing or ending in an error? You could also check the deploy logs using kudu: https://github.com/projectkudu/kudu/wiki/Kudu-console

gsv022 commented 2 years ago

Hi @bennystrauch , Thanks for raising the query. We are looking into it and get back to you with proper response soon.

bennystrauch commented 2 years ago

Morning, here are the logs from the logic app and kudu:

Logic App HTTP Error 500 "message": "An error has occurred.", "exceptionMessage": "Failed to acquire token for client credentials.", "exceptionType": "System.AggregateException", "stackTrace": " at Microsoft.Bot.Connector.Authentication.Retry.d0`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.Bot.Connector.Authentication.AdalAuthenticator.d15.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.Bot.Connector.Authentication.AdalAuthenticator.d16.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.Bot.Connector.Authentication.AppCredentials.d34.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Icebreaker.Controllers.ProcessNowController.d5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Threading.Tasks.TaskHelpersExtensions.d11.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext()", "innerException": { "message": "An error has occurred.", "exceptionMessage": "AADSTS7000215: Invalid client secret provided. Ensure the secret being sent in the request is the client secret value, not the client secret ID, for a secret added to app '08166bee-f9c2-434c-918d-8fb970583264'.\r\nTrace ID: 33e145fe-f698-456b-b38e-8b54dae90200\r\nCorrelation ID: ba052195-b2aa-4d87-ade9-b1f81efcf432\r\nTimestamp: 2022-09-22 07:51:36Z", "exceptionType": "Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException", "stackTrace": " at Microsoft.Identity.Core.OAuth2.OAuthClient.<GetResponseAsync>d__181.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.Identity.Core.OAuth2.OAuthClient.d17`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.Flows.AcquireTokenHandlerBase.d75.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.Flows.AcquireTokenHandlerBase.d72.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.Flows.AcquireTokenHandlerBase.d62.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)\r\n at Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.Flows.AcquireTokenHandlerBase.d60.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.d37.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.d64.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.Bot.Connector.Authentication.AdalAuthenticator.d23.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.Bot.Connector.Authentication.Retry.d0`1.MoveNext()", "innerException": { "message": "An error has occurred.", "exceptionMessage": "Response status code does not indicate success: 401 (Unauthorized).", "exceptionType": "Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException", "stackTrace": " at Microsoft.Identity.Core.OAuth2.OAuthClient.d18`1.MoveNext()" } } }

Kudu Deployment: [{"id":"486df436cd3307803e7045495bc73f1f338f9f20","status":4,"status_text":"","author_email":"94480537+v-royavinash@users.noreply.github.com","author":"v-royavinash","deployer":"GitHub","message":"Updated the jquery@3.6.0, i18next@21.9.0 and Microsoft.Web.LibraryManager.Build@2.1.175 to fix the build (#257)\n\n","progress":"","received_time":"2022-08-17T11:45:15.1753235Z","start_time":"2022-09-16T13:50:47.1938759Z","end_time":"2022-09-16T13:51:57.9900477Z","last_success_end_time":"2022-09-16T13:51:57.9900477Z","complete":true,"active":true,"is_temp":false,"is_readonly":false,"url":"https://icebreaker-mse-dsde-apps01.scm.azurewebsites.net/api/deployments/486df436cd3307803e7045495bc73f1f338f9f20","log_url":"https://icebreaker-mse-dsde-apps01.scm.azurewebsites.net/api/deployments/486df436cd3307803e7045495bc73f1f338f9f20/log","site_name":"icebreaker-mse-dsde-apps01","provisioningState":"Succeeded"}]

Kudu App Settings: {"deployment_branch":"master","SCM_TRACE_LEVEL":"1","SCM_COMMAND_IDLE_TIMEOUT":"60","SCM_LOGSTREAM_TIMEOUT":"7200","SCM_BUILD_ARGS":"","aspnet:PortableCompilationOutput":"true","aspnet:PortableCompilationOutputSnapshotType":"Microsoft.Web.Compilation.Snapshots.SnapshotHelper, Microsoft.Web.Compilation.Snapshots, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35","aspnet:DisableFcnDaclRead":"true","SCM_GIT_USERNAME":"windowsazure","SCM_GIT_EMAIL":"windowsazure","webpages:Version":"3.0.0.0","webpages:Enabled":"true","webactivator:assembliesToScan":"Kudu.Services.Web","CosmosDBEndpointUrl":"https://icebreaker-mse-dsde-cdb01.documents.azure.com:443/","AllowedTenants":"36515c62-8878-4f10-a7f4-561a4c17bef7","ScmType":"ExternalGit","WEBSITE_AUTH_ENABLED":"False","DisableTenantFilter":"false","REMOTEDEBUGGINGVERSION":"16.0.30709.132","MicrosoftAppId":"08166bee-f9c2-434c-918d-8fb970583264","FUNCTIONS_RUNTIME_SCALE_MONITORING_ENABLED":"0","APPINSIGHTS_INSTRUMENTATIONKEY":"b377c3a5-b756-45ad-9070-8faf3524497c","Testing":"false","WEBSITE_NODE_DEFAULT_VERSION":"8.9.4","CosmosDBDatabaseName":"icebreaker-mse-dsde-cdb01","KeyVaultURI":"https://icebreaker-mse-dsde-kv04.vault.azure.net","WEBSITE_AUTH_AUTO_AAD":"False","ManifestAppId":"d55d08d9-bacb-4567-942f-afd85d632dcc","CosmosCollectionUsers":"UsersOptInStatus","AppBaseDomain":"icebreaker-mse-dsde-apps01.azurewebsites.net","MaxPairUpsPerTeam":"5000","DefaultCulture":"en","WEBSITE_SITE_NAME":"icebreaker-mse-dsde-apps01","BotDisplayName":"icebreaker-mse-dsde-bot01","CosmosCollectionTeams":"TeamsInstalled","WEBSITE_AUTH_LOGOUT_PATH":"/.auth/logout","branch":"main"}

daniel-nov commented 2 years ago

Just to make sure, when you create your Client Secret, under "Certificates & Tokens", you have two values you can choose:

Are you picking the Value, instead of the Secret ID? Reading the log I have the feeling you got the latest, not the first one (which is the correct one). You can only view the Client Secret Value (Not ID!!) when you create this key so you have to save it right after creating so you can use when deploying your app.

bennystrauch commented 2 years ago

okay I can create a new secret and use the value. What option I have to change in the app service to add the value?

daniel-nov commented 2 years ago

You can go to your deployment and redeploy it, it asks for the keys again. I think the easiest way is to go to your resource group -> deployments (top-right, above locations) -> select your deployment that was successful and redeploy it.