Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
jupyter-naas
GitHub Repository: jupyter-naas/awesome-notebooks
Path: blob/master/Appwrite/Appwrite_User_Authentication.ipynb
2973 views
Kernel: Python 3

Appwrite.png

Appwrite - User Authentication

Give Feedback | Bug report

Tags: #appwrite #python #sdk #authentication #user #create

Author: SaiKiran M

Last update: 2023-10-08 (Created: 2023-10-08)

Description: This notebook will demonstrate how to use the Appwrite Python SDK to create a authentication and have options to create_user, delete_user, list_all_users as individual routines. It is useful for organizations that need to manage user authentication.

Input

Import libraries

try: import naas from appwrite.client import Client from appwrite.services.users import Users except ImportError: !pip install appwrite from appwrite.client import Client from appwrite.services.users import Users

Setup variables

  • endpoint: Appwrite endpoint URL

  • project: Appwrite project ID

  • key: Appwrite secret key

endpoint = naas.secret.get(name="endpoint") project = naas.secret.get(name="project") key = naas.secret.get(name="key")

Model

Create User

This routine will create a new user in the Appwrite project.

# Initialize Appwrite client client = Client() client.set_endpoint(endpoint) client.set_project(project) client.set_key(key) # Create user user_data = { 'userId': 'john-_doe123', 'email': '[email protected]', 'password': 'password', 'name': 'John Doe', } users=Users(client) try: #users.create take (username, email, mobileno, password) as arguments. user_details = users.create('msaik12', '[email protected]','+1234456666' ,'password') print("User Created!") print("User Details:") print(f"User ID: {user_details['$id']}") print(f"Name: {user_details['name']}") print(f"Email: {user_details['email']}") print(f"Phone: {user_details['phone']}") print(f"Registration Date: {user_details['registration']}") print(f"Status: {'Active' if user_details['status'] else 'Inactive'}") except: #make sure to provide different username everytime creating the user! print("User not created !")

Delete User

This routine will delete an existing user in the Appwrite project.

#We already initialised the Appwrite client in the above cells # Delete user that's created above. try: users.delete("msaik12") print('user deleted !') except: print("user not deleted / doesn't exist !!!")

List All Users

This routine will list all users in the Appwrite project.

# List all users x=users.list() users = x.get('users', []) for user in users: print('User Details:') print(f'User ID: {user["$id"]}') print(f'Name: {user["name"]}') print(f'Email: {user["email"]}') print(f'Phone: {user["phone"]}') print(f'Registration Date: {user["registration"]}') print(f'Status: {"Active" if user["status"] else "Inactive"}') print('---')

Output

Display result

for user in users: print('User Details:') print(f'User ID: {user["$id"]}') print(f'Name: {user["name"]}') print(f'Email: {user["email"]}') print(f'Phone: {user["phone"]}') print(f'Registration Date: {user["registration"]}') print(f'Status: {"Active" if user["status"] else "Inactive"}') print('---')