fix: use byte array instead of string for secret keys
feat(web): add authenticated user argument resolver