missingScopes method
The needed scopes granted does not cover, honouring scopeImplies.
Implementation
List<String> missingScopes(List<String> granted, Iterable<String> needed) => [
for (final r in needed)
if (!granted.any((g) => g == r || (scopeImplies?.call(g, r) ?? false))) r,
];