> For the complete documentation index, see [llms.txt](https://docs.wisej.com/hybrid/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wisej.com/hybrid/start/api/authentication/wisej.hybrid.shared.authenticator.webauthenticatorresult.md).

# WebAuthenticatorResult

Namespace: **Wisej.Hybrid.Shared.Authenticator**

Assembly: **Wisej.Hybrid** (3.5.0.0)

Represents a Web Authenticator Result object parsed from the callback Url.

{% tabs %}
{% tab title="C#" %}

```csharp
public class WebAuthenticatorResult
```

{% endtab %}

{% tab title="VB.NET" %}

```visual-basic
Public Class WebAuthenticatorResult
```

{% endtab %}
{% endtabs %}

All of the query string or url fragment properties are parsed into a dictionary and can be accessed by their key.

## Constructors

### ![](/files/CCV9PPenlC1YZvNh1I6R)WebAuthenticatorResult()

Initializes a new instance of the [WebAuthenticatorResult](/hybrid/start/api/authentication/wisej.hybrid.shared.authenticator.webauthenticatorresult.md) class.

## Properties

### ![](/files/CCV9PPenlC1YZvNh1I6R)AccessToken

[String](https://docs.microsoft.com/dotnet/api/system.string): The value for the `access_token` key.

### ![](/files/CCV9PPenlC1YZvNh1I6R)CallbackUri

[Uri](https://docs.microsoft.com/dotnet/api/system.uri): The uri that was used to call back with the access token.

### ![](/files/CCV9PPenlC1YZvNh1I6R)ExpiresIn

[Nullable\<DateTimeOffset>](https://docs.microsoft.com/dotnet/api/system.nullable-1): The expiry date as calculated by the timestamp of when the result was created plus the value in seconds for the `expires_in` key.

### ![](/files/CCV9PPenlC1YZvNh1I6R)IdToken

[String](https://docs.microsoft.com/dotnet/api/system.string): The value for the `id_token` key.

Apple doesn't return an access token on iOS native sign in, but it does return id\_token as a JWT.

### ![](/files/CCV9PPenlC1YZvNh1I6R)Properties

[Dictionary\<String, String>](https://docs.microsoft.com/dotnet/api/system.collections.generic.dictionary-2): The dictionary of key/value pairs parsed form the callback URI's query string.

### ![](/files/CCV9PPenlC1YZvNh1I6R)RefreshToken

[String](https://docs.microsoft.com/dotnet/api/system.string): The value for the `refresh_token` key.

### ![](/files/CCV9PPenlC1YZvNh1I6R)RefreshTokenExpiresIn

[Nullable\<DateTimeOffset>](https://docs.microsoft.com/dotnet/api/system.nullable-1): The refresh token expiry date as calculated by the timestamp of when the result was created plus the value in seconds for the refresh\_token\_expires\_in key.

### ![](/files/CCV9PPenlC1YZvNh1I6R)Timestamp

[DateTimeOffset](https://docs.microsoft.com/dotnet/api/system.datetimeoffset): The timestamp when the class was instantiated, which usually corresponds with the parsed result of a request.

## Methods

### ![](/files/CCV9PPenlC1YZvNh1I6R)Get(key)

Gets a value for a given key from the dictionary.

| Parameter | Type                                                          | Description                               |
| --------- | ------------------------------------------------------------- | ----------------------------------------- |
| **key**   | [String](https://docs.microsoft.com/dotnet/api/system.string) | Key from the callback URI's query string. |

**Returns:** [String](https://docs.microsoft.com/dotnet/api/system.string).

### ![](/files/CCV9PPenlC1YZvNh1I6R)Put(key, value)

Puts a key/value pair into the dictionary.

| Parameter | Type                                                          | Description |
| --------- | ------------------------------------------------------------- | ----------- |
| **key**   | [String](https://docs.microsoft.com/dotnet/api/system.string) |             |
| **value** | [String](https://docs.microsoft.com/dotnet/api/system.string) |             |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wisej.com/hybrid/start/api/authentication/wisej.hybrid.shared.authenticator.webauthenticatorresult.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
