// From https://datatracker.ietf.org/doc/html/rfc7518#section-3.1
export const ALGORITHM_DESCRIPTIONS: { [k: string]: string } = {
  HS256: 'SHA-256加密，HMAC签名',
  HS384: 'SHA-384加密，HMAC签名',
  HS512: 'SHA-512加密，HMAC签名',
  RS256: 'SHA-256加密，RSASSA-PKCS1-v1_5签名',
  RS384: 'SHA-384加密，RSASSA-PKCS1-v1_5签名',
  RS512: 'SHA-512加密，RSASSA-PKCS1-v1_5签名',
  ES256: 'P-256和SHA-256加密，ECDSA签名',
  ES384: 'P-384和SHA-384加密，ECDSA签名',
  ES512: 'P-521和SHA-512加密，ECDSA签名',
  PS256: 'SHA-256和MGF1 SHA-256加密，RSASSA-PSS签名',
  PS384: 'SHA-384和MGF1 SHA-384加密，RSASSA-PSS签名',
  PS512: 'SHA-512和MGF1 SHA-512加密，RSASSA-PSS签名',
  none: '无加密和签名',
};

// List extracted from IANA: https://www.iana.org/assignments/jwt/jwt.xhtml
export const CLAIM_DESCRIPTIONS: Record<string, string> = {
  typ: '类型',
  alg: '算法',
  iss: '发行人',
  sub: '主题',
  aud: '观察者',
  exp: '到期时间',
  nbf: '之前没有',
  iat: '发行时间',
  jti: 'JWT ID',
  name: '全名',
  given_name: '名',
  GivenName: '名',
  family_name: '姓',
  Surname: '姓',
  middle_name: '中间名',
  nickname: '昵称',
  preferred_username: '简称',
  profile: '个人资料URL',
  picture: '个人照片URL',
  website: '博客URL',
  email: '邮箱地址',
  Email: '邮箱地址',
  email_verified: '邮箱是否已验证',
  gender: '性别',
  birthdate: '生日',
  zoneinfo: '时区',
  locale: '区域',
  phone_number: '电话号码',
  phone_number_verified: '电话号码是否已验证',
  address: '居住地址',
  updated_at: '更新时间',
  azp: '颁发者',
  nonce: '关联值',
  auth_time: '认证时间',
  at_hash: 'Access Token哈希值',
  c_hash: 'Code哈希值',
  acr: '身份验证上下文类参考',
  amr: '身份验证方法参考',
  sub_jwk: '用于检查 ID Token 签名的公钥',
  cnf: '确认',
  sip_from_tag: 'SIP From tag头域参数值',
  sip_date: 'SIP Date 头字段值',
  sip_callid: 'SIP Call-Id 头域值',
  sip_cseq_num: 'SIP CSeq 数字头字段参数值',
  sip_via_branch: 'SIP Via分支头域参数值',
  orig: '原始身份字符串',
  dest: '目标身份字符串',
  mky: '媒体密钥指纹字符串',
  events: '安全事件',
  toe: '事件时间',
  txn: '交易标识符',
  rph: '资源优先级标头授权',
  sid: '会话 ID',
  vot: '信任值向量',
  vtm: '信任信任标记 URL 向量',
  attest: 'SHAKEN 框架中定义的证明级别',
  origid: 'SHAKEN 框架中定义的原始标识符',
  act: '演员',
  scope: '范围值',
  client_id: '客户端标识符',
  may_act: '授权演员 - 被授权成为演员的一方',
  jcard: 'j卡数据',
  at_use_nbr: '可以使用访问令牌的 API 请求数',
  div: '呼叫的转移目标',
  opt: '原始 PASSport（完整形式）',
  vc: 'W3C 建议中指定的可验证凭证',
  vp: 'W3C 建议中指定的可验证表示',
  sph: 'SIP 优先级头字段',
  ace_profile: '应该与令牌一起使用的 ACE 配置文件。',
  cnonce: '客户端随机数',
  exi: '到期时间',
  roles: '规则',
  groups: '组',
  entitlements: '权利',
  token_introspection: '令牌内省响应',
};
