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

[Notice] Calling for maintainers for the package #32

Closed
ahmednfwela opened this issue Apr 11, 2023 · 11 comments
Closed

[Notice] Calling for maintainers for the package #32

ahmednfwela opened this issue Apr 11, 2023 · 11 comments

Comments

@ahmednfwela
Copy link
Collaborator

ahmednfwela commented Apr 11, 2023

today, I forked the package to https://github.com/Bdaya-Dev/openidconnect_flutter/
and published a new variant on pub.dev

to use our variant, you need to replace

import 'package:openidconnect/openidconnect.dart';

with

import 'package:bdaya_openidconnect/openidconnect.dart';

and pubspec: openidconnect: x.x.x with bdaya_openidconnect: ^1.0.0

Motivation

OAuth is used for authentication in every major website nowadays, and not always you will find a flutter package for it, and even if you do, they don't follow the same standards.
we have been looking for a package that does exactly that. unify the OAuth experience, and we looked everywhere but couldn't find a package that offered everything, some didn't support all platforms, some only supported launching popups on specific platforms, and some were outright broken.

That's why we decided to take over this package and make it the perfect OAuth/OIDC package.

if the owner @jhancock4d is willing to transfer to us the original repo that would be great.

Progress

This is how the current package looks in pub.dev

image

vs our variant

image

as you can see we fixed the platform banners, improved score and fixed some bugs on web.

we will be adding a lot more in the near future, so stay tuned !

Maintainers

we are going to use this package for all our internal projects that require OAuth, so we are going to fix as many bugs as we can and if anyone wants their PR merged, you are welcome to @ me and I will merge it against our fork

@jhancock4d
Copy link
Contributor

Sorry to all. Github was not notifying me for some reason about these issues nor the pull requests. I've started wading through.

I'm happy to take a pull request to merge the code. There are a few comments on some of the pull requests that don't seem to be applicable or are against best practices.

@ahmednfwela
Copy link
Collaborator Author

very happy to see you are still active! @jhancock4d
If you want can you add me as a maintainer here ? If not I am still happy to create relevant PRs

@jhancock4d
Copy link
Contributor

You're added.

Please be careful to make sure that it continues to follow the standards (OpenIdConnect not oAuth which is way behind the OpenidConnect standard) and doesn't violate best practices. Examples are interactive flow has been depreciated as not secure so I intentionally do not support it for that reason. Google and others now fully support Code Flow.

Thanks for the help!

@ahmednfwela
Copy link
Collaborator Author

Thanks! I will be sure to request your review for every PR, since I don't have access to publish on pub.dev anyway. (would be great if we had an automated way to publish the package tho)

@jhancock4d
Copy link
Contributor

I'll see if I have some time to setup a github action. But that would be the easiest way I would think.

@ahmednfwela
Copy link
Collaborator Author

Great! I will close this issue meanwhile

@jhancock4d
Copy link
Contributor

PS: I think the highest priority issue is getting the ios and android. My thought was to use this as a dependency: https://pub.dev/packages/flutter_appauth

And thus get their functionality of the special windows that ios and android need to open, or merge in their platform code.

But now that Flutter supports direct mapping of platform code itself, it may be better to understand the calls they're making and do it with FFI instead in dart.

Thoughts?

@radicand
Copy link

FWIW today I platform-detect and leverage either appauth for mobile or this library for web. The payloads are similar enough that it's a minor implementation detail. That said, if you were to bundle in native functionality this way, that would simplify things.

@jhancock4d
Copy link
Contributor

jhancock4d commented Apr 11, 2023

Agreed. Just need to find time. If you're open to pushing a PR that switches to using appauth for ios and android directly in the code, I'd welcome it. (and worry about doing it's own direct window stuff later.)

@ahmednfwela
Copy link
Collaborator Author

I will open a new issue to continue tracking this discussion

@ahmednfwela
Copy link
Collaborator Author

Opened #33

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

No branches or pull requests

3 participants