Skip to content

Instantly share code, notes, and snippets.

View jeroenheijmans's full-sized avatar

Jeroen Heijmans jeroenheijmans

View GitHub Profile
@jeroenheijmans
jeroenheijmans / Foo.Tests.csproj
Created August 19, 2019 12:01
FluentValidation auto-registration with string validators repro
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.7" />
@jeroenheijmans
jeroenheijmans / destroyable.component.spec.ts
Created February 16, 2020 14:00
Destroyable Angular component
import { Subject } from 'rxjs';
import { Destroyable } from './destroyable.component';
class TestableDestroyable extends Destroyable { }
describe('Destroyable', () => {
it('should construct with observable', () => {
const component = new TestableDestroyable();
expect(component.destroyed$ instanceof Subject).toBeTruthy();
});
@jeroenheijmans
jeroenheijmans / localhost-ssl.conf
Created May 31, 2020 22:31
Certificate configuration for dotnet Ubuntu 20.04 localhost https dev
# Based on https://stackoverflow.com/a/59702094/419956 by user @chrisvdb cc-by-sa rev 2020.5.28.36925
# Not currently working for me on Ubuntu 20.04 though!
[req]
default_bits = 2048
default_keyfile = localhost.key
distinguished_name = req_distinguished_name
req_extensions = req_ext
x509_extensions = v3_ca
@jeroenheijmans
jeroenheijmans / example.js
Created August 23, 2020 11:11
OAuth2 Resource Owner Password Flow with vanilla JavaScript
// Please avoid "password" flow at all cost, it has been officially deprecated
// https://tools.ietf.org/html/draft-ietf-oauth-security-topics-15#section-2.4
// But, if you must use it, here's a simple way to do so:
async function getTokenResponse(clientId, identityServerUrl, username, password) {
const response = await fetch(identityServerUrl + "/connect/token", {
method: "POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
},