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

Chat Copilot Security Improvements #126

Merged
merged 41 commits into from
Aug 18, 2023
Merged

Chat Copilot Security Improvements #126

merged 41 commits into from
Aug 18, 2023

Conversation

gitri-ms
Copy link
Collaborator

@gitri-ms gitri-ms commented Aug 8, 2023

Motivation and Context

This PR addresses microsoft/semantic-kernel#1639. It is a combination of PRs #92 and #110

Description

Backend changes

  • Remove API key authorization
  • Use "AzureAD" as default authentication configuration for deployments, "None" for running locally (Note: UI changes to disable sign in flow for the latter case are still forthcoming)
  • Enable auth policy on controllers that checks if the user is part of the conversation they are trying to access

This PR changes the contract between the frontend and backend around how user IDs are communicated. Users who have been signing into the frontend with AAD will now only see their chats if the backend is also gated by AAD authentication, which was not the case previously.

Frontend changes

  • adds REACT_APP_AUTH_TYPE and changes AAD variables in .env to be optional
  • adds AuthHelper.IsAuthAAD to conditionally render different elements throughout the app
  • changes user settings menu popup to instead just show as a settings button:
    image

Existing users will need to uncomment REACT_APP_AUTH_TYPE=AzureAd in webapp/.env to continue using AAD as their authorization type.

Contribution Checklist

@github-actions github-actions bot added documentation Improvements or additions to documentation webapp Pull requests that update Typescript code webapi Pull requests that update .net code PR: ready for review labels Aug 8, 2023
scripts/deploy/README.md Outdated Show resolved Hide resolved
scripts/Configure.sh Outdated Show resolved Hide resolved
scripts/Start.ps1 Outdated Show resolved Hide resolved
scripts/deploy/deploy-webapp.ps1 Outdated Show resolved Hide resolved
scripts/deploy/deploy-webapp.ps1 Outdated Show resolved Hide resolved
scripts/deploy/deploy-webapp.sh Outdated Show resolved Hide resolved
webapi/appsettings.json Show resolved Hide resolved
@gitri-ms gitri-ms added this pull request to the merge queue Aug 18, 2023
Merged via the queue into main with commit 2f9dbc5 Aug 18, 2023
10 checks passed
@gitri-ms gitri-ms deleted the feature-better-auth branch August 18, 2023 20:37
teamleader-dev pushed a commit to vlink-group/chat-copilot that referenced this pull request Oct 7, 2024
### Motivation and Context
This PR addresses
microsoft/semantic-kernel#1639. It is a
combination of PRs microsoft#92 and microsoft#110

### Description

#### Backend changes
- Remove API key authorization
- Use "AzureAD" as default authentication configuration for deployments,
"None" for running locally (Note: UI changes to disable sign in flow for
the latter case are still forthcoming)
- Enable auth policy on controllers that checks if the user is part of
the conversation they are trying to access

This PR changes the contract between the frontend and backend around how
user IDs are communicated. Users who have been signing into the frontend
with AAD will now only see their chats if the backend is also gated by
AAD authentication, which was not the case previously.

#### Frontend changes
- adds `REACT_APP_AUTH_TYPE` and changes AAD variables in `.env` to be
optional
- adds `AuthHelper.IsAuthAAD` to conditionally render different elements
throughout the app
- changes user settings menu popup to instead just show as a settings
button:

![image](https://github.com/microsoft/chat-copilot/assets/52973358/342f977d-d011-464d-b122-5eff5f8222ac)

Existing users will need to uncomment `REACT_APP_AUTH_TYPE=AzureAd` in
`webapp/.env` to continue using AAD as their authorization type.


### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [Contribution
Guidelines](https://github.com/microsoft/copilot-chat/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/copilot-chat/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Desmond Howard <dehoward@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deployment Issues related to deploying Chat-Copilot documentation Improvements or additions to documentation github actions Pull requests that update GitHub Actions code webapi Pull requests that update .net code webapp Pull requests that update Typescript code
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

5 participants