# Sign in results

Canonical page: https://docs.ovok.com/flutter-sdk/reference/ovok_sdk/sign-in-results

{/* Generated by scripts/generate_reference.dart; do not edit. */}

## ClinicianInvite [#clinicianinvite]

```dart
final class ClinicianInvite implements RegisterResult
```

The project routed the email to a clinician invitation; no one is signed in.

### Constructors [#constructors]

#### ClinicianInvite.new [#clinicianinvitenew]

```dart
ClinicianInvite()
```

The registration ended in a clinician invitation.


## LoginResult [#loginresult]

```dart
sealed class LoginResult
```

What `ovok.auth.login` and `ovok.auth.verifyMfa` return.


## MfaChallenge [#mfachallenge]

```dart
class MfaChallenge
```

Hand it back to `verifyMfa`: it carries the PKCE verifier the token exchange needs.

### Constructors [#constructors-1]

#### MfaChallenge.new [#mfachallengenew]

```dart
MfaChallenge({
  required ProfileType profileType,
  required String loginId,
  required String codeVerifier,
})
```

A challenge from a login that needs a second factor.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `profileType` | `ProfileType` | required named |  |
| `loginId` | `String` | required named |  |
| `codeVerifier` | `String` | required named |  |

### Properties [#properties]

#### MfaChallenge.profileType [#mfachallengeprofiletype]

```dart
final ProfileType profileType
```

The profile type the login started with.

#### MfaChallenge.loginId [#mfachallengeloginid]

```dart
final String loginId
```

The server's id for the pending login.

#### MfaChallenge.codeVerifier [#mfachallengecodeverifier]

```dart
final String codeVerifier
```

The PKCE verifier of the pending login.


## MfaRequired [#mfarequired]

```dart
final class MfaRequired implements LoginResult
```

The login needs a second factor; pass [`challenge`](#mfarequiredchallenge) to
`ovok.auth.verifyMfa` with the user's code.

### Constructors [#constructors-2]

#### MfaRequired.new [#mfarequirednew]

```dart
MfaRequired(MfaChallenge challenge)
```

Wraps the pending [`challenge`](#mfarequiredchallenge).

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `challenge` | `MfaChallenge` | positional |  |

### Properties [#properties-1]

#### MfaRequired.challenge [#mfarequiredchallenge]

```dart
final MfaChallenge challenge
```

The challenge to hand back to `ovok.auth.verifyMfa`.


## ProfileType [#profiletype]

```dart
enum ProfileType
```

The kind of profile an account signs in or registers as.

### Values [#values]

#### ProfileType.patient [#profiletypepatient]

```dart
static const ProfileType patient
```

A FHIR `Patient`.

#### ProfileType.practitioner [#profiletypepractitioner]

```dart
static const ProfileType practitioner
```

A FHIR `Practitioner`.

#### ProfileType.relatedPerson [#profiletyperelatedperson]

```dart
static const ProfileType relatedPerson
```

A FHIR `RelatedPerson`.

### Constructors [#constructors-3]

#### ProfileType.new [#profiletypenew]

```dart
ProfileType(String resourceType)
```

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `resourceType` | `String` | positional |  |

### Properties [#properties-2]

#### ProfileType.resourceType [#profiletyperesourcetype]

```dart
final String resourceType
```

The FHIR resource type the profile is stored as.


## RegisterResult [#registerresult]

```dart
sealed class RegisterResult
```

What `ovok.auth.register` returns.


## SignedIn [#signedin]

```dart
final class SignedIn implements LoginResult, RegisterResult
```

The user is signed in with [`session`](#signedinsession).

### Constructors [#constructors-4]

#### SignedIn.new [#signedinnew]

```dart
SignedIn(Session session)
```

Wraps the new [`session`](#signedinsession).

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `session` | `Session` | positional |  |

### Properties [#properties-3]

#### SignedIn.session [#signedinsession]

```dart
final Session session
```

The session that was started and stored.
