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

https://github.com/tonerdo/csharp-jwt-authentication-sample

A C# API that supports username and password authentication with JWT
https://github.com/tonerdo/csharp-jwt-authentication-sample

Last synced: 21 days ago
JSON representation

A C# API that supports username and password authentication with JWT

Awesome Lists containing this project

README

        

# Csharp JWT Authentication sample

This is a Csharp Web API that supports username and password authentication with JWTs and has APIs that return user information.

## Available APIs

### User APIs

#### POST `/users`

You can do a POST to `/users` to create a new user.

```json
{
"username": "",

"firstname": "",

"middlename": "",

"lastname": "",

"age":
}
```

The body must have:

* `username`: The username
* `password`: The password

It returns the following:

```json
{

"id": "",

"username": "",

"access_token": ""
}
```

That JWT will contain the `id`, `username` and an `expires` indicating when the token will expire.

#### POST `/users/login`

You can do a POST to `/users/login` to log a user in.

The body must have:

* `username`: The username
* `password`: The password

It returns the following:

```json
{

"id": "",

"username": "",

"access_token": ""
}
```

That JWT will contain the `id`, `username` and an `expires` indicating when the token will expire.

### User API

#### GET `/api/users/{id}`

Where `id` is the Id of a user

It returns the complete user information

```json
{
"id": "",
"username": "",

"firstname": "",

"middlename": "",

"lastname": "",

"age":
}
```

The JWT must be sent on the `Authorization` header as follows: `Authorization: `

## Running it

Just clone the repository, and launch the solution in Visual Studio. That's it :).
This project was build using Visual Studio 2015.

## Issue Reporting

If you have found a bug or if you have a feature request, please report them at this repository issues section.

## Author

[Toni Solarin-Sodara](https://twitter.com/tonerdo)

## License

This project is licensed under the MIT license. See the [LICENSE](LICENSE) file for more info.