* Implement Transport classes * Implement authentication strategy classes * Revamp authentication with Transport and Strategy * Revamp strategy and OAuth so that they can use a callable dependency * Update docstring * Make ErrorCode a proper Enum and cleanup unused OpenAPI utils * Remove useless check * Tweak typing in authenticator * Update docs * Improve logout/destroy token logic * Update docs * Update docs * Update docs and full examples * Apply formatting to examples * Update OAuth doc and examples * Add migration doc * Implement Redis session token * Add Redis Session documentation * RedisSession -> Redis * Fix links in docs
		
			
				
	
	
	
		
			1.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	MongoDB
FastAPI Users provides the necessary tools to work with MongoDB databases thanks to mongodb/motor package for full async support.
Setup database connection and collection
Let's create a MongoDB connection and instantiate a collection.
--8<-- "docs/src/db_mongodb.py"
You can choose any name for the database and the collection.
!!! warning
You may have noticed the uuidRepresentation parameter. It controls how the UUID values will be encoded in the database. By default, it's set to pythonLegacy but new applications should consider setting this to standard for cross language compatibility. Read more about this.
Create the database adapter
The database adapter of FastAPI Users makes the link between your database configuration and the users logic. It should be generated by a FastAPI dependency.
--8<-- "docs/src/db_mongodb.py"
Notice that we pass a reference to your UserDB model.
!!! info
The database adapter will automatically create a unique index on id and email.
!!! warning
FastAPI Users will use its defined id UUID as unique identifier for the user, rather than the builtin MongoDB _id.