A module for managing Users with Authentication and Authorization
This module is a collection of GenStage work-flows for managing Users and User Accounts.
- hex_version: 0.2.0
- git_master_version: 0.3.0
https://hex.pm/packages/user_manager/0.2.0
def deps do
[{:user_manager, "~> 0.2.0"}]
end
export GUARDIAN_SECRET_KEY="SomeTemporarySuperSecretKeyOnlyIKnow!"
export CIPHER_KEY_PHRASE="testiekeyphraseforcipher"
export CIPHER_IV_PHRASE="testieivphraseforcipher"
export CIPHER_MAGIC_TOKEN="magictoken"
export FACEBOOK_APP_SECRET="your app secret"
export FACEBOOK_CLIENT_ID="your app client id"
- Create User
UserManager.UserManagerApi.create_user(name, password, email)
- Delete User
UserManager.UserManagerApi.delete_user(user_id)
- Authenticate User
UserManager.UserManagerApi.authenticate_user(name, password, source \ :browser)
- Identify User
UserManager.UserManagerApi.identify_user(token)
- Authorize User
UserManager.UserManagerApi.authorize_claims(token, permission_list, require_all \ true)
- Create Facebook Profile
- Note: Returns still need to be processed before returning to client, raw json, status_codes etc are in return types
UserManager.UserManagerApi.create_facebook_profile(user_id, facebook_code_token)
- Guardian - https://github.com/ueberauth/guardian
- Token generation / permission handling
- GuardianDb - https://github.com/ueberauth/guardian_db
- Additional token validation / db serialization of token data
- Comeonin - https://github.com/riverrun/comeonin
- Validated field encryption with bcrypt
- Facebook - https://github.com/mweibel/facebook.ex
- httpoison - https://github.com/edgurgel/httpoison
- Cipher - https://github.com/rubencaro/cipher
goals:
- Agnostic user management for 'any' system needing user management. (phoenix, games)
- Management of user authentication, authorization.
- Management of application user metadata.
- Integration of 3rd party authentication providers