{"id":26069986,"url":"https://github.com/alezrik/user_manager","last_synced_at":"2025-04-11T18:50:51.273Z","repository":{"id":62430648,"uuid":"80972573","full_name":"Alezrik/user_manager","owner":"Alezrik","description":"A user manager system for elixir","archived":false,"fork":false,"pushed_at":"2017-02-25T04:22:32.000Z","size":139,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-08T20:49:06.071Z","etag":null,"topics":["elixir","elixir-library","elixir-programming-language"],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alezrik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-05T06:02:05.000Z","updated_at":"2024-04-22T03:18:36.000Z","dependencies_parsed_at":"2022-11-01T20:18:32.982Z","dependency_job_id":null,"html_url":"https://github.com/Alezrik/user_manager","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alezrik%2Fuser_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alezrik%2Fuser_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alezrik%2Fuser_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alezrik%2Fuser_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alezrik","download_url":"https://codeload.github.com/Alezrik/user_manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248464095,"owners_count":21108213,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","elixir-library","elixir-programming-language"],"created_at":"2025-03-08T23:06:51.459Z","updated_at":"2025-04-11T18:50:51.246Z","avatar_url":"https://github.com/Alezrik.png","language":"Elixir","readme":"# UserManager\n\n[![Build Status](https://travis-ci.org/Alezrik/user_manager.svg?branch=master)](https://travis-ci.org/Alezrik/user_manager)\n[![Coverage Status](https://coveralls.io/repos/github/Alezrik/user_manager/badge.svg?branch=master)](https://coveralls.io/github/Alezrik/user_manager?branch=master)\n[![Ebert](https://ebertapp.io/github/Alezrik/user_manager.svg)](https://ebertapp.io/github/Alezrik/user_manager)\n[![Inline docs](http://inch-ci.org/github/Alezrik/user_manager.svg?branch=master)](http://inch-ci.org/github/Alezrik/user_manager)\n\n**A module for managing Users with Authentication and Authorization**\n\nThis module is a collection of GenStage work-flows for managing Users and User Accounts.\n\n## Versions\n* hex_version: 0.2.0\n* git_master_version: 0.3.0\n\n## Installation\n\nhttps://hex.pm/packages/user_manager/0.2.0\n\n```elixir\ndef deps do\n  [{:user_manager, \"~\u003e 0.2.0\"}]\nend\n```\n\n## Environment Variables\n\n\u003ccode\u003e\nexport GUARDIAN_SECRET_KEY=\"SomeTemporarySuperSecretKeyOnlyIKnow!\"\n\nexport CIPHER_KEY_PHRASE=\"testiekeyphraseforcipher\"\n\nexport CIPHER_IV_PHRASE=\"testieivphraseforcipher\" \n\nexport CIPHER_MAGIC_TOKEN=\"magictoken\" \n\nexport FACEBOOK_APP_SECRET=\"your app secret\"\n\nexport FACEBOOK_CLIENT_ID=\"your app client id\"\n\u003c/code\u003e\n\n## Api Usage\n\n* Create User\n\nUserManager.UserManagerApi.create_user(name, password, email)\n\n* Delete User\n\nUserManager.UserManagerApi.delete_user(user_id)\n\n* Authenticate User\n\nUserManager.UserManagerApi.authenticate_user(name, password, source \\\\ :browser)\n\n* Identify User\n\nUserManager.UserManagerApi.identify_user(token)\n\n* Authorize User\n\nUserManager.UserManagerApi.authorize_claims(token, permission_list, require_all \\\\ true) \n\n* Create Facebook Profile\n   * Note: Returns still need to be processed before returning to client, raw json, status_codes etc are in return types\n\nUserManager.UserManagerApi.create_facebook_profile(user_id, facebook_code_token)\n\n\n\n## Integrated Components\n* Guardian - https://github.com/ueberauth/guardian\n  * Token generation / permission handling\n* GuardianDb - https://github.com/ueberauth/guardian_db\n  * Additional token validation / db serialization of token data\n* Comeonin - https://github.com/riverrun/comeonin\n  * Validated field encryption with bcrypt\n* Facebook - https://github.com/mweibel/facebook.ex\n* httpoison - https://github.com/edgurgel/httpoison\n* Cipher - https://github.com/rubencaro/cipher\n\n## Scope\n\ngoals:\n* Agnostic user management for 'any' system needing user management. (phoenix, games)\n* Management of user authentication, authorization.\n* Management of application user metadata.\n* Integration of 3rd party authentication providers\n\n## Documentation\n\nhttps://hexdocs.pm/user_manager/0.2.0\n\n## Blog\nhttps://excavationofimagination.wordpress.com/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falezrik%2Fuser_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falezrik%2Fuser_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falezrik%2Fuser_manager/lists"}