akas 2.3.0

AKAS: API Key Authorization Server
plain: {
  shape: page
  a: |`text
    KEY-1
    KEY-2
    KEY-3
  `|
}

hashed: {
  shape: page
  a: |`text
    36a9e7f...
    b82ffb9...
    78a4403...
  `|
}

NGINX: {
  a: |`text
    /auth
  `|
}

AKAS: {
  /load
  check format and load: {
    a: |`text
      plain: prefix + length [optional]
      hashed: SHA-256 format
    `|
  }
  HashSet: {shape: cylinder}
  /auth: {
    unauthorized
    OK
  }
  Extract key from header: {
    a: |`text
      Authorization: Bearer <key>
    `|
  }
  Check key format: {
    a: |`text
      prefix [optional]
      length [optional]
    `|
  }
  Verify if key exists: {
    a: |`text
      hashed: Hash key
    `|
  }
}

plain -> akas./load
hashed -> akas./load
akas./load -> akas.check format and load
akas.check format and load -> akas.HashSet

NGINX.a <-> akas./auth

akas./auth -> akas.Extract key from header
akas.Extract key from header -> akas.Check key format
akas.Check key format -> akas.Verify if key exists
akas.Verify if key exists -> akas.HashSet