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
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
}
}
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}
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"}
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"}
logged?(token)
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"}}
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
}
}
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}
refresh(refresh_token)
Refresh for a new access_token given a refresh_token
Returns {:ok,"access_token"}
.
Examples
AccessPass.refresh("ODhhMDgzYwfefdfeC00YjgyLWFiZGMtZTJjOWZiMzJjODhi")
{:ok, "ODhhMDgzYjctZTE3OC00YjgyLWFiZGMtZTJjOWZiMzJjODhi"}
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
}
}
resend_confirm(username)
Resends confirmation email
Returns {"ok": "confirmation email resent"}
Examples
AccessPass.resend_confirm(%{username: "example"})
{"ok": "confirmation email resent"}
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"}