MediumPro challengePythonJavaScriptTypeScript

Authorization Header Parser

Node.jsHTTPAuth

Parse an Authorization header. Supports:

  • Bearer <token>{ scheme: 'Bearer', token }
  • Basic <base64> → decode to user:pass and return { scheme: 'Basic', user, pass }

For Basic, you may use the global atob.
Invalid format → null.

Sample tests

Test #1Basic short
Input: ["Basic YTpi"]
Output: {"pass":"b","user":"a","scheme":"Basic"}
Test #2Bearer JWT
Input: ["Bearer abc.def.ghi"]
Output: {"token":"abc.def.ghi","scheme":"Bearer"}
Test #3Basic user:pass
Input: ["Basic dXNlcjpwYXNz"]
Output: {"pass":"pass","user":"user","scheme":"Basic"}
Test #4Empty header
Input: [""]
Output: null
Test #5Unknown scheme
Input: ["Token abc"]
Output: null