4D-Technologies / openidconnect_flutter

Complete Flutter OpenIdConnect Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Notice] Calling for maintainers for the package

ahmednfwela opened this issue · comments

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

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.

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

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!

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)

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

Great! I will close this issue meanwhile

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?

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.

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.)

I will open a new issue to continue tracking this discussion

Opened #33