ExBankID.Auth.Payload (ex_bank_id v0.2.2) View Source
Provides the struct used when initiating a authentication
Link to this section Summary
Functions
Returns a Payload struct containing the given ip address and personal number.
Link to this section Types
Specs
reason() :: binary()
Link to this section Functions
Specs
new(binary(), Keyword.t()) :: {:error, reason()} | %ExBankID.Auth.Payload{ endUserIp: binary(), personalNumber: binary(), requirement: map() | nil }
Returns a Payload struct containing the given ip address and personal number.
Examples
iex> ExBankID.Auth.Payload.new("1.1.1.1")
%ExBankID.Auth.Payload{endUserIp: "1.1.1.1"}
iex> ExBankID.Auth.Payload.new("qwerty")
{:error, "Invalid ip address: qwerty"}
iex> ExBankID.Auth.Payload.new("1.1.1.1", [personal_number: "190000000000"])
%ExBankID.Auth.Payload{endUserIp: "1.1.1.1", personalNumber: "190000000000"}
iex> ExBankID.Auth.Payload.new("1.1.1.1", [personal_number: "Not a personal number"])
{:error, "Invalid personal number: Not a personal number"}
iex> ExBankID.Auth.Payload.new("1.1.1.1", [requirement: %{allowFingerprint: :false}])
%ExBankID.Auth.Payload{endUserIp: "1.1.1.1", requirement: %{allowFingerprint: :false}}
iex> ExBankID.Auth.Payload.new("1.1.1.1", [requirement: %{cardReader: "class2", tokenStartRequired: :false}])
%ExBankID.Auth.Payload{endUserIp: "1.1.1.1", requirement: %{cardReader: "class2", tokenStartRequired: :false}}
iex> ExBankID.Auth.Payload.new("1.1.1.1", [requirement: %{issuerCn: ["Nordea CA for Smartcard users 12", "Nordea CA for Softcert users 13"] }])
%ExBankID.Auth.Payload{endUserIp: "1.1.1.1", requirement: %{issuerCn: ["Nordea CA for Smartcard users 12", "Nordea CA for Softcert users 13"]}}
iex> ExBankID.Auth.Payload.new("1.1.1.1", [requirement: %{certificatePolicies: ["1.2.752.78.1.2", "1.2.752.78.*", "1.2.752.78.1.*"] }])
%ExBankID.Auth.Payload{endUserIp: "1.1.1.1", requirement: %{certificatePolicies: ["1.2.752.78.1.2", "1.2.752.78.*", "1.2.752.78.1.*"] }}
iex> ExBankID.Auth.Payload.new("1.1.1.1", [requirement: %{notRealRequirement: ["shouldFail"]}])
{:error, "Invalid requirement"}