Skip to content

Commit

Permalink
Merge pull request #75 from Azure-Samples/addTroubleshooting
Browse files Browse the repository at this point in the history
added documentation for troubleshooting unexpected api responses
  • Loading branch information
rvenugopal-msft authored Feb 15, 2022
2 parents 117c52b + 23e8c3b commit 8d4461c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Deploy to Azure using instructions [here](./docs/deployment-guides/deploy-and-te
3. [Getting Started](#getting-started)
4. [Endpoints](#endpoints)
5. [Troubleshooting](#troubleshooting)
- 5.1 [Application Troubleshooting](#application-troubleshooting)
6. [Contributing](#contributing)
7. [Resources](#resources)
8. [Trademark](#trademark)
Expand Down Expand Up @@ -99,6 +100,14 @@ This Azure Communication Services Solutions - Authentication server sample provi

4. For troubleshooting consent issues during Azure Active Directory authentication flow, please refer to [Unexpected user consent error](https://docs.microsoft.com/azure/active-directory/manage-apps/application-sign-in-unexpected-user-consent-error#requesting-not-authorized-permissions-error), [Unexpected user consent prompt](https://docs.microsoft.com/azure/active-directory/manage-apps/application-sign-in-unexpected-user-consent-prompt).

### Application Troubleshooting
1. When running sample application in local, to troubleshoot unexpected error response on Apis, you could use `stacktrace` present in the response.

2. When running the sample application in production e.g. Azure App Service, you can enable Application Insights to troubleshoot the Api failures in absence of application logs.
> (i) You can refer to [Enable Application Insights on App Service](https://docs.microsoft.com/en-us/azure/azure-monitor/app/azure-web-apps-net-core?tabs=Linux%2Cwindows#enable-monitoring) for enabling Application Insights on web application deployed on App Service.
>
> (ii) You can refer to [Analyze Failures](https://docs.microsoft.com/en-us/azure/azure-monitor/app/tutorial-runtime-exceptions#analyze-failures) on how to troubleshoot unexpected Api response.
## Contributing

Join us by making a contribution. To get you started check out our [contribution guidelines](CONTRIBUTING.md).
Expand Down
1 change: 1 addition & 0 deletions docs/design-guides/architecture-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ The Azure Communication Services identity for the user could be co-located with
2. Since Azure Communication Services is a data processor and you are the controller of the user data, you are responsible for ensuring the data privacy compliance. To learn more, please visit [Azure Communication Services privacy concept](https://docs.microsoft.com/azure/communication-services/concepts/privacy).
3. **For information of the users:** When the Azure Active Directory instance is used for 3rd party application sign in with [delegated permissions granted over Graph API](https://docs.microsoft.com/graph/auth/auth-concepts#delegated-and-application-permissions), the 3rd Party application with delegated permissions as `user.read` would also have access to the Azure Communication Services user Id persisted as open extension data of the user. This scenario is possible only if the sample is adapted for Multi Tenancy.
4. You as users of the sample would be data controllers of Azure Communication Services Identity and are hence responsible for handling GDPR compliance. The sample has `api/user` endpoints for user management and is provided as a way to handle Azure Communication Services Identity in the appropriate context. The DELETE `api/user` in sample for an example is responsible for deleting the Azure Communication Services Identity mapping in the Azure Active Directory.
5. The sample does not have support for application logging. If you need to enable logging and telemetry on production, please refer to [Logging in .Net Core and ASP.Net core](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-6.0) and [Toubleshoot Diagnostic Logs](https://docs.microsoft.com/en-us/azure/app-service/troubleshoot-diagnostic-logs). You can still troubleshoot the Api errors even if logging is not suported in sample, please refer to [Application Toubleshooting](../../README.md#application-troubleshooting) section.

## Alternate Identity Mapping Approach
If Graph Open Extensions does not meet your requirement for storage of Identity Mappings, you can consider storing them in databases such as [CosmosDB](https://docs.microsoft.com/azure/cosmos-db/) or [Azure Tables](https://docs.microsoft.com/azure/storage/tables/) for an example. You will need to make the below changes though:
Expand Down

0 comments on commit 8d4461c

Please sign in to comment.