MaikuB / MaikuB/flutter_appauth
[feature] Allow passing in list of resources as additional params in the authorize/authorizrAndExchangeCode request
Nobody has claimed this yet.
- Dominant language
- Objective-C
- Stars
- 308
- Forks
- 301
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 5
Description
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 ](https://www.rfc-editor.org/rfc/rfc8707) 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 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](https://stackoverflow.com/questions/57367391/dart-sending-get-parameters-that-are-lists) value. Since the actual interfaces are implemented using the native bridge. Just wondering, is it possible to extend the `additionalParams` type to Map and accepts a list of String as its value?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the Flutter plugin API where authorize and authorizeAndExchangeCode accept additionalParams, then trace how those values cross the native bridge to iOS and Android. Check the existing request-building behavior for resource indicators. Done means callers can pass multiple resource strings and both native SDK paths preserve them in the authorization request.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, dart, ios, objective-c
- Domain
- mobile-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100