MaikuB / MaikuB/flutter_appauth
Use custom scheme for AuthorizationEndpoint
- Dominant language
- Objective-C
- Stars
- 308
- Forks
- 301
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 5
Description
I'm trying to implement the DATEV OAuth2.0/OpenID Connect into my application but I'm occurring some errors...
They don't use a website for mobile authentication on their side but their own app: https://apps.apple.com/app/id943870921
Its scheme to call a login session on both iOS and Android is as followed: `datevsmartlogin://doLogin/`
So when parsing in this URL for the `authorizationEndpoint` and all other required endpoint from the discoveryURL: https://login.datev.de/openid/.well-known/openid-configuration into my own configuration it looks like this
```
serviceConfiguration: const AuthorizationServiceConfiguration(
authorizationEndpoint: 'datevsmartlogin://doLogin/',
tokenEndpoint: 'https://api.datev.de/token',
endSessionEndpoint: 'https://api.datev.de/endsession',
),
```
But when executing the login flow with the flutter_appauth packages there's an error on both Android and iOS denying the use of non https or http endpoints for the authorizationEndpoint.
I have to use the app to make the Authorization so am I missing something here or is this just a problem of the package?
Thanks
Contributor guide
Research direction
Start by reproducing the login flow with the DATEV discovery configuration and inspect where the Android and iOS flows reject the datevsmartlogin:// authorization endpoint. Compare the platform behavior and determine whether both flows can support this custom scheme; done means the DATEV login flow works on Android and iOS, or the limitation is clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, dart, flutter, ios
- Domain
- authentication, mobile-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100