Bugfix: Enable non-ascii characters in JWT
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 calling json.decode of the response, first decode it via utf8.decode.
Result: Umlaute and other non-ascii characters are now possible in the JWT and its fields like the name.
@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.