Skip to content

Instantly share code, notes, and snippets.

@web2bear
web2bear / tokens.md
Created January 28, 2022 09:14 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Last major update: 25.08.2020

  • Что такое авторизация/аутентификация
  • Где хранить токены
  • Как ставить куки ?
  • Процесс логина
  • Процесс рефреш токенов
  • Кража токенов/Механизм контроля токенов
cls
function Create-GelfMessage( ){
Param(
[string] $message,
[Hashtable] $extraFields =@{},
[int] $level=1,
[string] $source=$env:computername
var rr1875 = function () {
var scriptId = "MtStep";
var counter = 0;
function getStepId(doc) {
if (doc.Bought)
return 3;
if (doc.Clicked)
return 2;
@web2bear
web2bear / time.cs
Created January 28, 2016 13:44
time
using System;
namespace RetailRocket.Common.DateTimeUtils
{
public static class TimeZoneInfoExtensions
{
public static DateTimeOffset NowOffset(this TimeZoneInfo timeZoneInfo)
{
var offset = new DateTimeOffset(DateTime.UtcNow, TimeZoneInfo.Utc.BaseUtcOffset);
return offset.ToOffset(timeZoneInfo.BaseUtcOffset);
@web2bear
web2bear / OptionalResult.cs
Last active November 3, 2015 19:59
Optional result
public static class Results
{
public static OptionalResult<T> Optional<T>(T res, string nullExceptionMessage = null) where T : class
{
return new OptionalResult<T>(res, nullExceptionMessage);
}
public static OperationResult<T> Success<T>(T res)
{
return OperationResult<T>.Success(res);
}
@web2bear
web2bear / sample.cs
Last active November 3, 2015 18:37
idea for Given-When-Then
Given.AtPartnerRepository().Created(_fixture.CreateRandomPartner());
Given.AtSubscribersRepository().Created(_fixture.CreateRandomSubscribers(3));
// Где
// Given - свойство базового теста типа IGiven
// AtSubscribersRepository - это extension метод для IGiven c Lazy созданием соотв.объекта с мэппером и обертки с Created = Save
//Остальное по аналогии
When.EtsDemon().ProcessRequest(request);