AccessPass v1.0.1 AccessPass

This is the main Public api and out of the box all you will use. Includes everything you need for all your authentication needs.

Link to this section Summary

Functions

Logs in a user without a password. This is intended for use with other authentication methods such as Webauthn. Case insensitive username or email is used

Calling will update user password for related password_id

Marks a user email confirmed based on the given confirm_id

calling will send a forgot_username email to the email(if it exists in system)

Checks if the given access token is not revoked or expired and returns the data stored for it

Logs in a user. Case insensitive username or email can be used along with password

calling logout will revoke both access_token and refresh_token for the given access_token

Refresh for a new access_token given a refresh_token

Register a new user

calling will set a reset password email to the linked email account of the username

Link to this section Functions

Link to this function bypass_login(username)

Logs in a user without a password. This is intended for use with other authentication methods such as Webauthn. Case insensitive username or email is used.

Returns {"ok": { "type":"TYPE", "refresh_token":"refresh token", "refresh_expire_in": seconds, "access_token":"access_token", "access_expire_in": seconds } }

Examples

AccessPass.bypass_login(%{
  username: "example"
})
{"ok":
{
  "type":"basic",
  "refresh_token":"MjNmYzgzNGMtMGM3MS00YTA4LTkxMWMtNDEyODU3Yzk2ZTgy",
  "refresh_expire_in":1200,
  "access_token":"ODhhMDgzYjctZTE3OC00YjgyLWFiZGMtZTJjOWZiMzJjODhi",
  "access_expire_in":600
}
}
Link to this function change_password(password_id, new_password, password_confirm)

Calling will update user password for related password_id

Returns {:ok}.

Examples

AccessPass.change_password("ODhhMDgzYwfefdfeC00YjgyLWFiZGMtZTJjOWZiMzJjODhi","myNewPassword","myNewPassword")
{:ok}
Link to this function confirm(confirm_id)

Marks a user email confirmed based on the given confirm_id

Returns {:ok, "email confirmed"}.

Examples

AccessPass.confirm("ODhhMDgzYwfefdfeC00YjgyLWFiZGMtZTJjOWZiMzJjODhi")
{:ok, "email confirmed"}
Link to this function forgot_username(email)

calling will send a forgot_username email to the email(if it exists in system)

Returns {ok: "sent email with related username"}.

Examples

AccessPass.forgot_username("myemail@gmail.com")
{ok: "sent email with related username"}

Checks if the given access token is not revoked or expired and returns the data stored for it

Returns {:ok,{user: "data"}}.

Examples

AccessPass.logged?("ODhhMDgzYjctZTE3OC00YjgyLWFiZGMtZTJjOWZiMzJjODhi")
{:ok, {username: "jordiee"}}
Link to this function login(username, password)

Logs in a user. Case insensitive username or email can be used along with password.

Returns {"ok": { "type":"TYPE", "refresh_token":"refresh token", "refresh_expire_in": seconds, "access_token":"access_token", "access_expire_in": seconds } }

Examples

AccessPass.login(%{
  username: "example",
  password: "otherexample",
})
{"ok":
{
  "type":"basic",
  "refresh_token":"MjNmYzgzNGMtMGM3MS00YTA4LTkxMWMtNDEyODU3Yzk2ZTgy",
  "refresh_expire_in":1200,
  "access_token":"ODhhMDgzYjctZTE3OC00YjgyLWFiZGMtZTJjOWZiMzJjODhi",
  "access_expire_in":600
}
}
Link to this function logout(access_token)

calling logout will revoke both access_token and refresh_token for the given access_token

Returns {:ok}.

Examples

AccessPass.logout("ODhhMDgzYwfefdfeC00YjgyLWFiZGMtZTJjOWZiMzJjODhi")
{:ok}
Link to this function refresh(refresh_token)

Refresh for a new access_token given a refresh_token

Returns {:ok,"access_token"}.

Examples

AccessPass.refresh("ODhhMDgzYwfefdfeC00YjgyLWFiZGMtZTJjOWZiMzJjODhi")
{:ok, "ODhhMDgzYjctZTE3OC00YjgyLWFiZGMtZTJjOWZiMzJjODhi"}
Link to this function register(user_obj)

Register a new user

Returns {"ok": { "type":"TYPE", "refresh_token":"refresh token", "refresh_expire_in": seconds, "access_token":"access_token", "access_expire_in": seconds } }

Examples

AccessPass.register(%{
  username: "example",
  password: "otherexample",
  password_confirm: "otherexample",
  email: "example@email.com",
  meta: {
    coolInfo: "stored in here"
  }
})
{"ok":
{
  "type":"basic",
  "refresh_token":"MjNmYzgzNGMtMGM3MS00YTA4LTkxMWMtNDEyODU3Yzk2ZTgy",
  "refresh_expire_in":1200,
  "access_token":"ODhhMDgzYjctZTE3OC00YjgyLWFiZGMtZTJjOWZiMzJjODhi",
  "access_expire_in":600
}
}
Link to this function reset_password(username)

calling will set a reset password email to the linked email account of the username

Returns {ok: "password reset sent to accounts email"}.

Examples

AccessPass.reset_password("jordiee")
{ok: "password reset sent to accounts email"}