Open tom-010 opened 1 year ago
@rbellens Can this be merged please? Thanks!
+1
I believe the change needs to be:
var body = isJson ? json.decode(utf8.decode(response.body.codeUnits)) : response.body;
instead...
As @bvoq mentions, utf8.decode
takes an List<int>
, not a String
, so this PR will not work. Can you update accordingly and also add a unit test.
Problem: When processing the response from an OpenID-Provider, the string is not decoded using UTF-8. Therefore, no non-ascii characters like german "Umlaute" (like ä, ü, ö) are possible in the JWT and therefore in the name in the JWT (like Jürgen).
Fix: in
lib/src/http_util.dart
_processResponse
: before callingjson.decode
of the response, first decode it viautf8.decode
.Result: Umlaute and other non-ascii characters are now possible in the JWT and its fields like the name.