Code Explainers
Code explainers tagged #authentication
python
import pytest from fastapi.testclient import TestClient from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker
Testing FastAPI routes with dependency overrides
testing
fixtures
dependency-injection
Intermediate
7 steps
php
<?php namespace App\Http\Middleware;
Verifying GitHub webhook signatures in Laravel
middleware
hmac
webhooks
Intermediate
5 steps
java
@Configuration @EnableWebSecurity public class OAuth2SecurityConfig {
How OIDC login works in Spring Security
oauth2
openid-connect
authorization
Intermediate
8 steps
typescript
import { Injectable, UnauthorizedException } from '@nestjs/common'; import { PassportStrategy } from '@nestjs/passport'; import { ExtractJwt, Strategy } from 'passport-jwt'; import { ConfigService } from '@nestjs/config';
How a JWT strategy authenticates in NestJS
authentication
jwt
passport
Intermediate
7 steps
typescript
import { Injectable } from '@angular/core'; import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http'; import { BehaviorSubject, Observable, throwError } from 'rxjs'; import { catchError, filter, take, switchMap } from 'rxjs/operators';
Refreshing auth tokens in an Angular interceptor
http-interceptor
token-refresh
rxjs
Advanced
8 steps
go
package auth import ( "net/http"
Setting and reading secure session cookies in Go
cookies
session-management
security
Intermediate
6 steps
typescript
import { CanActivate, ExecutionContext, Injectable, UnauthorizedException } from '@nestjs/common'; import { GqlExecutionContext } from '@nestjs/graphql'; import { Reflector } from '@nestjs/core'; import { JwtService } from '@nestjs/jwt';
How a GraphQL auth guard works in NestJS
authentication
authorization
jwt
Intermediate
7 steps
python
import base64 import hashlib import hmac import json
Building signed expiring tokens with HMAC
hmac
authentication
base64
Intermediate
7 steps
php
<?php namespace App\View\Composers;
How a Laravel view composer feeds the navigation
view-composer
caching
dependency-injection
Intermediate
5 steps
typescript
import { WebSocketGateway, WebSocketServer, SubscribeMessage,
Building a real-time chat gateway in NestJS
websockets
real-time
socket.io
Intermediate
8 steps
python
from functools import wraps import jwt from flask import current_app, g, jsonify, request
How a JWT auth decorator works in Flask
decorators
authentication
jwt
Intermediate
6 steps
ruby
class PasswordResetsController < ApplicationController RESET_PURPOSE = :password_reset RESET_EXPIRY = 15.minutes
Password resets with signed global IDs in Rails
authentication
signed-tokens
global-id
Intermediate
9 steps
python
from django.contrib.auth.mixins import LoginRequiredMixin from django.views.generic import ListView from .models import Invoice
Building a scoped, filtered ListView in Django
class-based views
queryset filtering
authentication
Intermediate
7 steps
php
<?php namespace App\Providers;
Defining rate limiters in Laravel
rate limiting
service provider
closures
Intermediate
7 steps
rust
use axum::{extract::State, http::StatusCode, response::IntoResponse, Json}; use chrono::{Duration, Utc}; use serde::{Deserialize, Serialize}; use std::{collections::HashMap, sync::Arc};
Refresh token rotation in Axum
authentication
token-rotation
reuse-detection
Advanced
9 steps
rust
use axum::{ extract::{FromRef, FromRequestParts}, http::{request::Parts, StatusCode}, response::{IntoResponse, Response},
A custom API-key extractor in Axum
authentication
extractors
trait-implementation
Advanced
8 steps
javascript
import { NextResponse } from 'next/server'; import { jwtVerify } from 'jose'; const PROTECTED_PREFIXES = ['/dashboard', '/settings', '/billing'];
Gating routes with Next.js middleware and JWTs
authentication
middleware
jwt
Intermediate
8 steps
python
from functools import wraps from flask import Blueprint, session, request, redirect, url_for, flash, render_template from werkzeug.security import check_password_hash
Session-based auth with a Flask Blueprint
authentication
decorators
sessions
Intermediate
9 steps