# `Sake.Auth.Code`
[🔗](https://github.com/hattoriai/sake/blob/v0.4.3/lib/sake/auth/records.ex#L1)

An authorization code (stored hashed). `dpop_jkt` is the thumbprint of
the DPoP key the code is bound to (RFC 9449 §10), or nil: the token
request that redeems a bound code must carry a proof made with that
key. `acr` and `auth_time` are how and when the person signed in
when they approved it (`c:Sake.Auth.Subject.authentication/1`), or
nil, which its tokens carry (RFC 9470). `nonce` is the authorization
request's OpenID Connect `nonce`, or nil, which the ID token issued
for the code carries.

# `t`

```elixir
@type t() :: %Sake.Auth.Code{
  acr: term(),
  auth_time: term(),
  client_id: term(),
  code_challenge: term(),
  dpop_jkt: term(),
  expires_at: term(),
  hash: term(),
  nonce: term(),
  redirect_uri: term(),
  resource: term(),
  scopes: term(),
  subject_id: term()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
