---
url: "https://vueda.dev/v3/reference/api/py/vueda.user.views/WhoIsView.md"
title: "WhoIsView"
---

# WhoIsView

## Overview

Describe the current session: the signed-in user through ``WhoIsSerializer``, or, for an anonymous
session, an object holding only ``auth_pending_flow``. For an anonymous session that is the stage allauth
holds a sign-in at, such as ``mfa_authenticate``, or ``None`` when no sign-in is waiting. The stage lives
only in the server session, so the client reads it from here to resume the sign-in after a reload.

## `dispatch` {#dispatch}

Dispatch the incoming request to the appropriate handler method.

This method implements the core request/response lifecycle for
Django REST Framework views:

1. Wraps the incoming Django HttpRequest in a REST framework Request.
2. Performs content negotiation, authentication, permission, and
    throttling checks.
3. Resolves and calls the appropriate HTTP method handler
    (e.g. get(), post(), put()).
4. Handles any exceptions raised during processing and converts
    them into appropriate Response objects.
5. Finalizes and returns the response with proper rendering
    and headers applied.

### Signature {#dispatch-signature}

`dispatch(self, request, args, kwargs)`

#### Parameters {#dispatch-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="dispatch-param-request">request</span> |  | yes |  |  |
| <span id="dispatch-param-args">args</span> |  | no |  |  |
| <span id="dispatch-param-kwargs">kwargs</span> |  | no |  |  |

### Source {#dispatch-source}

`.venv/lib/python3.12/site-packages/rest_framework/views.py:490`

## `get_object` {#get_object}

Returns the object the view is displaying.

You may want to override this if you need to provide non-standard
queryset lookups.  Eg if objects are referenced using multiple
keyword arguments in the url conf.

### Signature {#get_object-signature}

`get_object(self)`

#### Parameters {#get_object-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |

### Source {#get_object-source}

`server/vueda/user/views.py:130`

## `options` {#options}

Handler method for HTTP 'OPTIONS' request.

### Signature {#options-signature}

`options(self, request, args, kwargs)`

#### Parameters {#options-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="options-param-request">request</span> |  | yes |  |  |
| <span id="options-param-args">args</span> |  | no |  |  |
| <span id="options-param-kwargs">kwargs</span> |  | no |  |  |

### Source {#options-source}

`.venv/lib/python3.12/site-packages/rest_framework/views.py:531`

## `retrieve` {#retrieve}

### Signature {#retrieve-signature}

`retrieve(self, request, args, kwargs)`

#### Parameters {#retrieve-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="retrieve-param-request">request</span> |  | yes |  |  |
| <span id="retrieve-param-args">args</span> |  | no |  |  |
| <span id="retrieve-param-kwargs">kwargs</span> |  | no |  |  |

### Source {#retrieve-source}

`server/vueda/user/views.py:123`

## `permission_classes` {#permission_classes}

## `schema` {#schema}

## `serializer_class` {#serializer_class}

## Source

`server/vueda/user/views.py:106`
