Cookie¶
+Cookies are an easy way to store stateful information into the user browser. Thus, it is more useful for browser-based navigation (e.g. a front-end app making API requests) rather than pure API interaction.
+Configuration¶
+from fastapi_users.authentication import CookieAuthentication + +SECRET = "SECRET" + +auth_backends = [] + +cookie_authentication = CookieAuthentication(secret=SECRET, lifetime_seconds=3600)) + +auth_backends.append(cookie_authentication) +
As you can see, instantiation is quite simple. You just have to define a constant SECRET
which is used to encode the token and the lifetime of the cookie (in seconds).
You can optionally define the cookie_name
. Defaults to fastapiusersauth
.
You can also optionally define the name
which will be used to generate its /login
route. Defaults to cookie
.
cookie_authentication = CookieAuthentication( + secret=SECRET, + lifetime_seconds=3600, + name="my-cookie", +) +
Tip
+The value of the cookie is actually a JWT. This authentication backend shares most of its logic with the JWT one.
+Login¶
+This method will return a response with a valid set-cookie
header upon successful login:
200 OK
++Check documentation about login route.
+
Authentication¶
+This method expects that you provide a valid cookie in the headers.
+Next steps¶
+We will now configure the main FastAPI Users object that will expose the API router.
+ + + + + + + + + +