MaikuB / MaikuB/flutter_appauth

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

Open
#381 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.