Skip to content

Instantly share code, notes, and snippets.

View AlekseyGett's full-sized avatar

Aleksey Get' AlekseyGett

View GitHub Profile
@AlekseyGett
AlekseyGett / pre-commit
Last active April 2, 2019 08:49
Pre-commit hook to start SwiftLint
#!/bin/sh
echo "Pre-commit linting..."
if ! which swiftlint >/dev/null; then
echo "ERROR: SwiftLint does not exist, download it from https://github.com/realm/SwiftLint"
exit 1
fi
FILES=$(git diff --staged --name-only)
@AlekseyGett
AlekseyGett / tokens.md
Created April 5, 2018 10:05 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию

Token-Based Authentication(JWT)

Preconditions:

В данной заметке рассматривается работа JWT с симметичным алгоритмом шифрования (HS256/HS384/HS512)

Основы:

Аутентификация(authentication, от греч. αὐθεντικός [authentikos] – реальный, подлинный; от αὐθέντης [authentes] – автор) - это процесс проверки учётных данных пользователя (логин/пароль). Проверка подлинности пользователя путём сравнения введённого им логина/пароля с логином/паролем, сохранённым в базе данных пользователей.

Авторизация(authorization — разрешение, уполномочивание) - это проверка прав пользователя на доступ к определенным ресурсам.

@AlekseyGett
AlekseyGett / ActionCommand.cs
Created December 8, 2017 09:18
Implementation of ICommand interface
using System;
using System.Windows.Input;
namespace MVVM
{
public class ActionCommand : ICommand
{
private Action<object> action;
private Predicate<object> predicate;
@AlekseyGett
AlekseyGett / ObservableObject.cs
Created December 8, 2017 09:11
ViewModel base class (WPF MVVM)
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace MVVM
{
public class ObservableObject : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([CallerMemberName] string propertyName = "") =>