AccessPass v1.1.0 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

Resends confirmation email

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, { "type":"TYPE", "refresh_token":"refresh token", "refresh_expire_in": seconds, "access_token":"access_token", "access_expire_in": seconds }}.

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

resend_confirm(username)

Resends confirmation email

Returns {"ok": "confirmation email resent"}

Examples

AccessPass.resend_confirm(%{username: "example"})
{"ok": "confirmation email resent"}
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"}