Resuelve AuthPlug v1.3.0 ResuelveAuth.Helpers.TokenHelper View Source
Modulo para la generacion y verificacion de tokens JWT
Link to this section Summary
Functions
Genera un token usando un mapa. Retorna un token con el siguiente formato JSON_EN_BASE64_SEGURO_PARA_URLS.FIRMA_HMAC_SHA_256_EN_BASE_16
Extrae la fecha de un mapa en el formato {:ok, %{}}
esperando que
sea un formato de unix y convertirlo a fecha.
Identifica si el tiempo resultante (primer parámetro) es menor o igual al tiempo límite (segundo parámetro).
Verifica si el token es válido y devuelve una mapa con los datos del token.
Link to this section Functions
create_token(data, options) View Source
Genera un token usando un mapa. Retorna un token con el siguiente formato JSON_EN_BASE64_SEGURO_PARA_URLS.FIRMA_HMAC_SHA_256_EN_BASE_16
Examples
iex> alias ResuelveAuth.TokenData
iex> timestamp = 1572656155135
iex> data = %TokenData{ meta: nil, role: "service", service: "my-api", session: nil, timestamp: timestamp }
iex> options = [secret: "secret", limit_time: 4]
iex> alias ResuelveAuth.Helpers.TokenHelper
iex> token = TokenHelper.create_token(data, options)
"eyJ0aW1lc3RhbXAiOjE1NzI2NTYxNTUxMzUsInNlc3Npb24iOm51bGwsInNlcnZpY2UiOiJteS1hcGkiLCJyb2xlIjoic2VydmljZSIsIm1ldGEiOm51bGx9.1E1FA5A03B62DB5E0E5C5627D578E4ABBD1E83EFBFF72907428D0C95DC491394"
iex> String.length(token)
185
extract(arg) View Source
Extrae la fecha de un mapa en el formato {:ok, %{}}
esperando que
sea un formato de unix y convertirlo a fecha.
Ejemplos:
iex> timestamp = 1583797948623
iex> data = %{"timestamp" => timestamp, "otra_llave" => "algo"}
iex> parameter = {:ok, data}
iex> {:ok, data} = ResuelveAuth.Helpers.TokenHelper.extract(parameter)
iex> Map.keys(data)
["otra_llave", "time", "timestamp"]
is_expired(error, limit_time) View Source
Identifica si el tiempo resultante (primer parámetro) es menor o igual al tiempo límite (segundo parámetro).
Ejemplo:
iex> ResuelveAuth.Helpers.TokenHelper.is_expired(4, 5)
false
iex> ResuelveAuth.Helpers.TokenHelper.is_expired(4, 4)
false
iex> ResuelveAuth.Helpers.TokenHelper.is_expired(5, 4)
true
verify_token(token, options) View Source
Verifica si el token es válido y devuelve una mapa con los datos del token.
Ejemplos:
iex> alias ResuelveAuth.TokenData
iex> timestamp = DateTime.to_unix(DateTime.utc_now(), :millisecond)
iex> data = %TokenData{ meta: nil, role: "service", service: "my-api", session: nil, timestamp: timestamp }
iex> options = [secret: "secret", limit_time: 4]
iex> alias ResuelveAuth.Helpers.TokenHelper
iex> token = TokenHelper.create_token(data, options)
iex> {:ok, result} = TokenHelper.verify_token(token, options)
iex> result["timestamp"] == data.timestamp
true
iex> result["service"] == data.service
true