An open API service indexing awesome lists of open source software.

https://github.com/soenneker/soenneker.blazor.thumbmarkjs

A Blazor interop library for the javascript fingerprinting library, thumbmarkjs
https://github.com/soenneker/soenneker.blazor.thumbmarkjs

blazor blazorlibrary csharp dotnet fingerprint fingerprinting id identification thumbmark thumbmarkjs thumbmarkjsinterop

Last synced: 12 days ago
JSON representation

A Blazor interop library for the javascript fingerprinting library, thumbmarkjs

Awesome Lists containing this project

README

          

[![](https://img.shields.io/nuget/v/soenneker.blazor.thumbmarkjs.svg?style=for-the-badge)](https://www.nuget.org/packages/soenneker.blazor.thumbmarkjs/)
[![](https://img.shields.io/github/actions/workflow/status/soenneker/soenneker.blazor.thumbmarkjs/publish-package.yml?style=for-the-badge)](https://github.com/soenneker/soenneker.blazor.thumbmarkjs/actions/workflows/publish-package.yml)
[![](https://img.shields.io/nuget/dt/soenneker.blazor.thumbmarkjs.svg?style=for-the-badge)](https://www.nuget.org/packages/soenneker.blazor.thumbmarkjs/)
[![](https://img.shields.io/github/actions/workflow/status/soenneker/soenneker.blazor.thumbmarkjs/codeql.yml?label=CodeQL&style=for-the-badge)](https://github.com/soenneker/soenneker.blazor.thumbmarkjs/actions/workflows/codeql.yml)

# ![](https://user-images.githubusercontent.com/4441470/224455560-91ed3ee7-f510-4041-a8d2-3fc093025112.png) Soenneker.Blazor.Thumbmarkjs
### A Blazor interop library for the javascript fingerprinting library, [thumbmarkjs](https://github.com/thumbmarkjs/thumbmarkjs)

[Demo](https://soenneker.github.io/soenneker.blazor.thumbmarkjs)

## Installation

```
dotnet add package Soenneker.Blazor.Thumbmarkjs
```

## Usage

### Basic Setup

1. Register the service in your `Program.cs`:

```csharp
builder.Services.AddThumbmarkjsInteropAsScoped();
```

2. Add the component to your page or component:

```razor

```

### Getting a Thumbmark (Fingerprint)

```csharp
private Thumbmarkjs _thumbmarkjs;

private async Task Get()
{
string fingerprint = await _thumbmarkjs.Get();
}

public void OnGenerated(string thumbmark)
{
// Handle the fingerprint when it's generated
}

public void OnFingerprintDataGenerated(JsonElement data)
{
// Handle the fingerprint when it's generated
}
```

### Getting Detailed Data

```csharp
private async Task GetData()
{
JsonElement? data = await _thumbmarkjs.GetData();
string jsonData = data?.ToString();
// Use the detailed data...
}
```

### Configuring Options

```csharp
private async Task ConfigureOptions()
{
var options = new ThumbmarkjsOptions
{
Exclude = ["webgl", "audio"], // Components to exclude
Timeout = 1000, // Timeout in milliseconds
};

await _thumbmarkjs.SetOptions(options);
}
```