fromAuthorizationHeader static method

BasicAuth? fromAuthorizationHeader(
  1. String token, {
  2. String prefix = 'Basic ',
})
override

Implementation

static BasicAuth? fromAuthorizationHeader(String token,
    {String prefix = 'Basic '}) {
  if (token.length > prefix.length && token.startsWith(prefix)) {
    final basicToken = token.substring(prefix.length);
    final decodedToken = utf8.decode(base64Decode(basicToken));
    final parts = decodedToken.split(':');
    if (parts.length < 2) {
      return null;
    }

    return BasicAuth(parts.first, parts.skip(1).join(':'), prefix: prefix);
  } else {
    return null;
  }
}