OWASP / threat-dragon

An open source threat modeling tool from OWASP
https://owasp.org/www-project-threat-dragon/
Apache License 2.0
902 stars 244 forks source link

Add support for Google authentication and Google Drive #1088

Open ericfitz opened 1 week ago

ericfitz commented 1 week ago

Describe what problem your feature request solves: I would like to use the Threat Dragon tool in a non-GitHub environment. That means that I'd like to use Google Drive as a data store, and authenticate to the Threat Dragon application (and to Google Drive) using Google authentication.

Describe the solution you'd like: I'd like to be able to configure an instance of Threat Dragon to use Google Sign-In, e.g. so I can authenticate as "myaccount@gmail.com".

I'd also like to be able to configure an instance of Threat Dragon to use a Google Drive folder as a store for models, rather than a GitHub repo.

Additional context: Related to issue 426

ericfitz commented 1 week ago

I've posted a $500 bounty (negotiable) for this issue.

hasan-tec commented 1 week ago

Thanks for sharing the details @ericfitz! I'd like to express interest in working on this feature enhancement for Google authentication and Drive integration.

To clarify, I'll implement Google OAuth 2.0 for sign-in, allowing users to authenticate via their Google accounts (e.g., "myaccount@gmail.com"). I'll also set up Google Drive as a data store, enabling model files to be uploaded and managed in Drive rather than a GitHub repository.

Please feel free to provide any specific requirements or preferences regarding the integration. I'll review the codebase and propose an implementation approach. Let me know if there's any additional information you would like to share before I proceed.

Thanks!

ericfitz commented 1 week ago

Thanks hasan-tec - you'll have to go through Upwork to get paid - the link to my job is here!

Basically I just want:

  1. A working, standard "sign in with Google" button that I can enable via configuration (and OAuth app registration with Google). Authentication needs to be done by Google (OAuth 2.0); we should not be collecting Google creds in the app.

  2. The ability to set configuration to allow/require Google Drive as a store for model files.

  3. A user experience to select the Google Drive folder in which to load/store models.

jgadsden commented 1 week ago

Thank you @ericfitz for posting the bounty and raising this issue

jgadsden commented 1 week ago

@hasan-tec thank you for taking this on, version 2.3 is due out September 2024 (although this looks unlikely and may well be October) so I have tagged this with version 2.4 for you

hasan-tec commented 1 week ago

will i get paid for this? as it was in upworks job? 500$?

ericfitz commented 1 week ago

Hey Hasan-tec, I posted the bounty on upworks but have not hired a candidate yet. I am interviewing now. It's easy to pay through upworks. Do you have a way to chat?

hasan-tec commented 1 week ago

Yes you can, we have an agency on Upwork. You can come over to my agency, ByteForth, I have a professional team, you can hire us and then it will be easy for you to pay through Upwork. I have top 2 top rated Upwork freelancer and myself a rising talent on Upwork as well. The payment will be discussed there, don't worry it will be around 500, we don't overcharge, so don't worry about that. I will send you the link you can directly contaxt us, and then make a contract.

hasan-tec commented 1 week ago

https://www.upwork.com/agencies/byteforth/

hasan-tec commented 1 week ago

I have applied to your Upwork job post, and my team is ready for the interview anytime you want, and are really excited and ready for this job.

hasan-tec commented 1 week ago

@jgadsden you didnt had to unassign me, lmao, all g,

hasan-tec commented 1 week ago

Hiya Eric, did you decline my Upwork job proposal?

bryng001 commented 6 days ago

Hi Eric, here is an update of the progress: 9/27/24 What I did yesterday: Added the google sign in feature using OAuth. PR - https://github.com/OWASP/threat-dragon/pull/1092 What I will do today: Will analyze the entire logic of this project and prepare to add Google Drive feature. Roadblocks: No Estimated completion: 35% Project delivery status: Green

I don’t have any questions so far. Do let me know you if have additional requests. Thanks!