MaikuB / flutter_appauth

A Flutter wrapper for AppAuth iOS and Android SDKs
269 stars 239 forks source link

[feature] Allow passing in list of resources as additional params in the authorize/authorizrAndExchangeCode request #381

Open simeng-li opened 1 year ago

simeng-li commented 1 year ago

First of all, thanks for sharing, this is a really nice project.

Context

We are currently implementing a flutter SDK to let flutter apps integrate with our authorization service. It provides a standard authorization solution following OIDC and OAuth.

As one of our use-case, a sign-in user may ask for the authorization of multiple API resources. He/She should be able to provide multiple resource indicators in an authorization code request.

Problems we are facing

Using flutter_appauth, we need to pass in the resource params as part of the additionalParams. However, due to the limitation of the Map<string, string> type, we could only provide the resource param with a string value instead of a list.

Question

The queryParameters property of flutter's Url instance actually accepted an iterable string type value. Since the actual interfaces are implemented using the native bridge. Just wondering, is it possible to extend the additionalParams type to Map<string, dynamic> and accepts a list of String as its value?

MaikuB commented 1 year ago

This plugin acts as a wrapper for other SDKs you should be looking more at what those SDKs support as opposed to what Dart supports. You'll need to look into what those SDKs supported and their docs are publicly available. Moreover, the plugin is open-source so if you believe it's possible and have a need for this, please submit a PR back