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

Adding Support for API Authentication Methods #609

Open
ashitaprasad opened this issue Feb 23, 2025 · 16 comments
Open

Adding Support for API Authentication Methods #609

ashitaprasad opened this issue Feb 23, 2025 · 16 comments
Labels
good first issue Good for newcomers

Comments

@ashitaprasad
Copy link
Member

Tell us about the task you want to perform and are unable to do so because the feature is not available

This meta issue is to track support for various API authentication methods in API Dash

@ashitaprasad ashitaprasad added enhancement New feature or request good first issue Good for newcomers labels Feb 23, 2025
@Jaishree2310
Copy link

I would like to work on this issue.
Please assign me.

@ashitaprasad
Copy link
Member Author

@Jaishree2310
Why we do not assign issues to anyone?

@highjeans
Copy link

Hi,
I would love to work on this issue for Google Summer of Code 2025. What would you suggest me to do to prepare me for starting this project and/or preparing my application for me to start this project? Are there any additional resources I should look at other than the links provided in #565 or the flutter/dart documentation?

Thanks,
Vivan Waghela

@ashitaprasad
Copy link
Member Author

Hi, I would love to work on this issue for Google Summer of Code 2025. What would you suggest me to do to prepare me for starting this project and/or preparing my application for me to start this project? Are there any additional resources I should look at other than the links provided in #565 or the flutter/dart documentation?

Thanks, Vivan Waghela

@highjeans The application guide answers all your questions. You can read it here

@ashitaprasad ashitaprasad removed the enhancement New feature or request label Mar 2, 2025
@Paniv45
Copy link

Paniv45 commented Mar 15, 2025

Hi @ashitaprasad,

I’m Paniv Kapoor, and I’m really interested in working on the GSoC’25 project "Adding Support for API Authentication Methods" (Issue #609). I had a few doubts and was hoping you could clarify them.

In the project description, there are multiple sub-issues listed:

Basic Authentication – Sending a verified username and password with API requests (#610)
API Key Authentication – Sending a key-value pair in the request headers or query parameters (#611)
Bearer Token Authentication – Using an access key like a JSON Web Token (JWT) (#612)
JWT Bearer Authentication – Generating JWT bearer tokens to authorize requests (#613)
Digest Authentication – Involves a challenge-response mechanism where a nonce value is used to create a one-time-use hash key (#614)
OAuth 1.0 Authentication (#615)
OAuth 2.0 Authentication (#481)
My question is: Does the GSoC project require implementing all these authentication methods (#610 to #615 and #481), or should I focus on specific ones?

Additionally, if you have any suggestions on where to start or relevant resources for learning more about API authentication in Dart and Flutter, that would be really helpful!

Looking forward to your guidance. Thanks!

Best,
Paniv Kapoor

@animator
Copy link
Member

Hi @ashitaprasad,

I’m Paniv Kapoor, and I’m really interested in working on the GSoC’25 project "Adding Support for API Authentication Methods" (Issue #609). I had a few doubts and was hoping you could clarify them.

In the project description, there are multiple sub-issues listed:

Basic Authentication – Sending a verified username and password with API requests (#610)
API Key Authentication – Sending a key-value pair in the request headers or query parameters (#611)
Bearer Token Authentication – Using an access key like a JSON Web Token (JWT) (#612)
JWT Bearer Authentication – Generating JWT bearer tokens to authorize requests (#613)
Digest Authentication – Involves a challenge-response mechanism where a nonce value is used to create a one-time-use hash key (#614)
OAuth 1.0 Authentication (#615)
OAuth 2.0 Authentication (#481)
My question is: Does the GSoC project require implementing all these authentication methods (#610 to #615 and #481), or should I focus on specific ones?

Additionally, if you have any suggestions on where to start or relevant resources for learning more about API authentication in Dart and Flutter, that would be really helpful!

Looking forward to your guidance. Thanks!

Best,
Paniv Kapoor

If undertaken as a GSoC project all the issues have to be resolved.

A good place to start will be to take a real world API which requires auth and connect it using Dart.

@Paniv45
Copy link

Paniv45 commented Mar 15, 2025

Hii @animator ,
Thanks for guiding.
Are you one of the mentor for this project?

@animator
Copy link
Member

Hii @animator ,
Thanks for guiding.
Are you one of the mentor for this project?

Yes

@Paniv45
Copy link

Paniv45 commented Mar 15, 2025

Thanks for clarifying

Hii @animator ,
Thanks for guiding.
Are you one of the mentor for this project?

Yes

Thanks for clarifying 😊.
Could you please clarify that if there is any qualification task for this project or I just need to send the proposal directly??.

@animator
Copy link
Member

Thanks for clarifying

Hii @animator ,
Thanks for guiding.
Are you one of the mentor for this project?

Yes

Thanks for clarifying 😊.
Could you please clarify that if there is any qualification task for this project or I just need to send the proposal directly??.

Every project is designed in such a way that you have to send some PR solving a small part of the issue. Like in this case sending a draft PR adding any 1-2 of the auth methods mentioned above. It will also give you a better idea of the problem so that you can draft a better proposal.

@Paniv45
Copy link

Paniv45 commented Mar 15, 2025

Thanks for clarifying

Hii @animator ,
Thanks for guiding.
Are you one of the mentor for this project?

Yes

Thanks for clarifying 😊.
Could you please clarify that if there is any qualification task for this project or I just need to send the proposal directly??.

Every project is designed in such a way that you have to send some PR solving a small part of the issue. Like in this case sending a draft PR adding any 1-2 of the auth methods mentioned above. It will also give you a better idea of the problem so that you can draft a better proposal.

So is this a compalsary task to perform before submitting the proposal??

@animator
Copy link
Member

Thanks for clarifying

Hii @animator ,
Thanks for guiding.
Are you one of the mentor for this project?

Yes

Thanks for clarifying 😊.
Could you please clarify that if there is any qualification task for this project or I just need to send the proposal directly??.

Every project is designed in such a way that you have to send some PR solving a small part of the issue. Like in this case sending a draft PR adding any 1-2 of the auth methods mentioned above. It will also give you a better idea of the problem so that you can draft a better proposal.

So is this a compalsary task to perform before submitting the proposal??

We have already mentioned all essential information in the GSoC Application Guide #564

You can go through it.

@maiHydrogen
Copy link
Contributor

@animator
Hi sir!! I have raised a PR #680 that will potentially close the issue #610 successfully and this also serves as the base for adding other authorizations also. I would really like you to review it and tell me what's right or wrong so that i can improve the code/ my approach. i would really love to discuss about it and close these all issues before the GSoc itself.

@ashitaprasad
Copy link
Member Author

@animator Hi sir!! I have raised a PR #680 that will potentially close the issue #610 successfully and this also serves as the base for adding other authorizations also. I would really like you to review it and tell me what's right or wrong so that i can improve the code/ my approach. i would really love to discuss about it and close these all issues before the GSoc itself.

Sure we will review it

@hanzili
Copy link

hanzili commented Mar 27, 2025

Hello API Dash Team!

I'm Hanzi, a fourth-year Computer Science student at McGill University passionate about tech startups and looking to get involved in GSoC. After exploring API Dash's codebase, I've noticed inconsistent approaches to authentication features across PRs.

To address this, I propose a standardized approach following API Dash's architecture:

  1. Unified Authentication Model: A freezed-based AuthenticationModel in the core package
  2. Single Integration Point: One update to HttpRequestModel to include authentication
  3. Consistent UI Pattern: Standard "Auth" tab in the request editor

This would allow contributors to implement different auth methods (Basic, Bearer, OAuth, etc.) independently while maintaining consistency with the project's patterns and ensuring backward compatibility.

Is this approach aligned with the project's vision? I'd be happy to submit a PR with this foundation to enable structured collaboration.

@animator
Copy link
Member

@hanzili You can submit your proposal in the GSoC website and submit a PR for your approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

7 participants