From bf683fa86bd924a652ba72153d962b2462fa8af8 Mon Sep 17 00:00:00 2001 From: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com> Date: Sun, 24 Sep 2023 19:19:50 +0530 Subject: [PATCH 1/7] Update README.md --- README.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5d46e26..9b23449 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,24 @@ # conda-auth -A conda plugin for handling multiple authentication schemes +A conda plugin for ensuring that user credentials are not compromised while using conda channels requiring HTTP Basic Authentication and OAuth Authentication. + +## Why conda-auth? + +Currently when using conda, if you want use a channel that requires the use of HTTP Basic Authentication, you need to store your user credentials in your `.condarc` file: + +``` +channels: + - https://username:password@example.com/channel +``` + +The example above has one primary problem: storing credentials in clear text. This is a practice that is frowned upon generally and one we should avoid if possible. + +The conda-auth project aims to solve this problem by storing credentials in an encrypted and password protected manner. This is accomplished by introducing a dependency on the [keyring project](https://github.com/jaraco/keyring). This Python library uses the underlying secret store mechanism for many types of desktop operating systems, including Windows, OSX and Linux. + +Using this plugin will then ensure that users are storing their user credentials in a safer manner. + +## Installation +Instructions about how to install this plugin and set it up to work with conda + +## How to Contribute to this project? +Instructions about forking the project, and start contributing. From beaef70d0f909d621b5b6f73c269dd6b1e71a8cd Mon Sep 17 00:00:00 2001 From: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com> Date: Thu, 5 Oct 2023 16:56:00 +0200 Subject: [PATCH 2/7] Update README.md Add installation and contribution guidelines. --- README.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9b23449..b746768 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,21 @@ The conda-auth project aims to solve this problem by storing credentials in an e Using this plugin will then ensure that users are storing their user credentials in a safer manner. ## Installation -Instructions about how to install this plugin and set it up to work with conda +To install this plugin please run the following commands: +``` +git clone https://github.com/conda-incubator/conda-auth +cd conda-auth +pip install -e . +``` ## How to Contribute to this project? -Instructions about forking the project, and start contributing. +Contributions are very welcome to this project! + +Feel free to: +1. File bug reports +2. Create feature requests +3. Open pull requests fixing bugs, or adding new features +4. Review open pull requests +5. Engage in ongoing discussions in this project and add new ideas. + +Do join the [conda Matrix chat](https://app.element.io/#/room/#conda:matrix.org) to get in touch with the rest of conda community and post any questions that you might have. From 316b9d005a3d1416005c1bdfb4785cf89bab7906 Mon Sep 17 00:00:00 2001 From: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com> Date: Thu, 5 Oct 2023 21:47:23 +0200 Subject: [PATCH 3/7] Update README.md --- README.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b746768..0e4fd57 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,11 @@ # conda-auth -A conda plugin for ensuring that user credentials are not compromised while using conda channels requiring HTTP Basic Authentication and OAuth Authentication. +A conda plugin for handling various HTTP based authentication schemes. + +Conda auth is a plugin that handles various authentication schemes as well as login session management. Currently, the following authentication schemes are supported: + +HTTP Basic Authentication +On top of this, conda-auth supports session management via two subcommands for logging into services (conda auth login) and logging out of services (conda auth logout). ## Why conda-auth? @@ -18,11 +23,10 @@ The conda-auth project aims to solve this problem by storing credentials in an e Using this plugin will then ensure that users are storing their user credentials in a safer manner. ## Installation -To install this plugin please run the following commands: +To start using conda auth, we recommend installing to your base environment: + ``` -git clone https://github.com/conda-incubator/conda-auth -cd conda-auth -pip install -e . +conda install --name base --channel conda-forge conda-auth ``` ## How to Contribute to this project? From fb256f1f6dd5b2e1c07e98434243652ea40f47be Mon Sep 17 00:00:00 2001 From: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com> Date: Thu, 5 Oct 2023 21:52:47 +0200 Subject: [PATCH 4/7] Update README.md --- README.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0e4fd57..444b021 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,17 @@ A conda plugin for handling various HTTP based authentication schemes. Conda auth is a plugin that handles various authentication schemes as well as login session management. Currently, the following authentication schemes are supported: -HTTP Basic Authentication +- HTTP Basic Authentication + On top of this, conda-auth supports session management via two subcommands for logging into services (conda auth login) and logging out of services (conda auth logout). +## Installation +To start using conda auth, we recommend installing to your base environment: + +``` +conda install --name base --channel conda-forge conda-auth +``` + ## Why conda-auth? Currently when using conda, if you want use a channel that requires the use of HTTP Basic Authentication, you need to store your user credentials in your `.condarc` file: @@ -22,13 +30,6 @@ The conda-auth project aims to solve this problem by storing credentials in an e Using this plugin will then ensure that users are storing their user credentials in a safer manner. -## Installation -To start using conda auth, we recommend installing to your base environment: - -``` -conda install --name base --channel conda-forge conda-auth -``` - ## How to Contribute to this project? Contributions are very welcome to this project! From 463c7df386715d47affe98a1c9fc35b42722ba11 Mon Sep 17 00:00:00 2001 From: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com> Date: Thu, 5 Oct 2023 22:08:06 +0200 Subject: [PATCH 5/7] Update README.md --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 444b021..7c863da 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,7 @@ Conda auth is a plugin that handles various authentication schemes as well as lo On top of this, conda-auth supports session management via two subcommands for logging into services (conda auth login) and logging out of services (conda auth logout). ## Installation -To start using conda auth, we recommend installing to your base environment: - +Install `conda-auth` into your base environment from the `conda-forge` channel: ``` conda install --name base --channel conda-forge conda-auth ``` @@ -36,8 +35,13 @@ Contributions are very welcome to this project! Feel free to: 1. File bug reports 2. Create feature requests -3. Open pull requests fixing bugs, or adding new features +3. Open pull requests to resolve issues available in the [Github issues queue](https://github.com/conda-incubator/conda-auth/issues). 4. Review open pull requests -5. Engage in ongoing discussions in this project and add new ideas. +5. Report any typos, wrong/outdated information on the [project website](https://conda-incubator.github.io/conda-auth/). +6. Engage in ongoing discussions in this project and add new ideas. + +Head to the [Developers Guide](https://conda-incubator.github.io/conda-auth/dev/) for this project to learn how to set up your development environment. Do join the [conda Matrix chat](https://app.element.io/#/room/#conda:matrix.org) to get in touch with the rest of conda community and post any questions that you might have. + +Happy Contributing! From 80d8093ad8aab72e9bac15d0ee822f0758bf99ce Mon Sep 17 00:00:00 2001 From: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com> Date: Thu, 5 Oct 2023 22:11:00 +0200 Subject: [PATCH 6/7] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c863da..88e05dc 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ The conda-auth project aims to solve this problem by storing credentials in an e Using this plugin will then ensure that users are storing their user credentials in a safer manner. -## How to Contribute to this project? +## Contributing to This Project Contributions are very welcome to this project! Feel free to: From 244e4747bd61b92f5aeabe6b15f1920f3740d1ff Mon Sep 17 00:00:00 2001 From: Travis Hathaway Date: Fri, 6 Oct 2023 06:46:19 +0200 Subject: [PATCH 7/7] Apply suggestions from code review --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 88e05dc..1a733ff 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,33 @@ # conda-auth -A conda plugin for handling various HTTP based authentication schemes. +A conda plugin for handling authenticated access to private channels. -Conda auth is a plugin that handles various authentication schemes as well as login session management. Currently, the following authentication schemes are supported: +Conda auth currently supports the following types of authentication: - HTTP Basic Authentication -On top of this, conda-auth supports session management via two subcommands for logging into services (conda auth login) and logging out of services (conda auth logout). +On top of this, conda auth supports session management via two subcommands for logging into services (`conda auth login`) and logging out of services (`conda auth logout`). ## Installation -Install `conda-auth` into your base environment from the `conda-forge` channel: +Conda auth is available on conda-forge. As with all conda plugins, this must be installed into your base environment: ``` conda install --name base --channel conda-forge conda-auth ``` -## Why conda-auth? +## Usage -Currently when using conda, if you want use a channel that requires the use of HTTP Basic Authentication, you need to store your user credentials in your `.condarc` file: +**Log in** to a channel protected by HTTP basic authentication: ``` -channels: - - https://username:password@example.com/channel +conda auth login https://example.com/my-protected-channel --username $USERNAME ``` -The example above has one primary problem: storing credentials in clear text. This is a practice that is frowned upon generally and one we should avoid if possible. +**Log out** of a channel to remove credentials from your computer: -The conda-auth project aims to solve this problem by storing credentials in an encrypted and password protected manner. This is accomplished by introducing a dependency on the [keyring project](https://github.com/jaraco/keyring). This Python library uses the underlying secret store mechanism for many types of desktop operating systems, including Windows, OSX and Linux. +``` +conda auth logout https://example.com/my-protected-channel +``` -Using this plugin will then ensure that users are storing their user credentials in a safer manner. ## Contributing to This Project Contributions are very welcome to this project! @@ -37,7 +37,7 @@ Feel free to: 2. Create feature requests 3. Open pull requests to resolve issues available in the [Github issues queue](https://github.com/conda-incubator/conda-auth/issues). 4. Review open pull requests -5. Report any typos, wrong/outdated information on the [project website](https://conda-incubator.github.io/conda-auth/). +5. Report any typos, wrong/outdated information on the [documentation website](https://conda-incubator.github.io/conda-auth/). 6. Engage in ongoing discussions in this project and add new ideas. Head to the [Developers Guide](https://conda-incubator.github.io/conda-auth/dev/) for this project to learn how to set up your development environment.