Skip to content

Instantly share code, notes, and snippets.

This is an updated test plan for a server, incorporating best current practices from RFC 9700 and the OAuth 2.1 Authorization Framework. This updated checklist removes the deprecated Implicit Grant flow and adds new requirements, recommendations, and security considerations.

General

  • REQUIRED:
    • The server MUST use HTTPS for all communication.
    • The server MUST support the Authorization Code Grant with PKCE (response_type=code). This is the only grant type recommended for public clients (e.g., single-page applications, native apps).
  • Redirect URIs MUST be validated using an exact string match against a pre-registered list. Wildcard matching and partial path matching are NOT RECOMMENDED.

OAuth 2.1 Implementation Status

Based on RFC 9700 and OAuth 2.1 Authorization Framework requirements

Feature Implementation Status

Feature Implementation Status Unit Tests Integration Tests Notes
General Requirements
HTTPS for all communication ✅ Implemented N/A N/A Assumed for production use
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lambdaisland</groupId>
<artifactId>kaocha-cljs</artifactId>
<version>1.6.158</version>
<name>kaocha-cljs</name>
<description>ClojureScript support for Kaocha</description>
<url>https://github.com/lambdaisland/kaocha-cljs</url>
<inceptionYear>2018</inceptionYear>
This one errors
* Host bmo.squid.casa:443 was resolved.
* IPv6: (none)
* IPv4: 192.168.1.39
* Trying 192.168.1.39:443...
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
Apr 7 17:42:00 marceline NetworkManager[1776]: <info> [1712504520.3629] manager: sleep: sleep requested (sleeping: no enabled: yes)
Apr 7 17:42:00 marceline NetworkManager[1776]: <info> [1712504520.3630] manager: NetworkManager state is now ASLEEP
Apr 7 17:42:00 marceline ModemManager[1815]: <info> [sleep-monitor-systemd] system is about to suspend
Apr 7 17:42:00 marceline systemd[1]: Reached target sleep.target - Sleep.
Apr 7 17:42:00 marceline systemd[1]: Starting systemd-suspend.service - System Suspend...
Apr 7 17:42:00 marceline systemd-sleep[24417]: Entering sleep state 'suspend'...
Apr 7 17:42:00 marceline kernel: PM: suspend entry (deep)
Apr 7 17:42:06 marceline kernel: Filesystems sync: 0.003 seconds
Apr 7 17:42:06 marceline kernel: Freezing user space processes
Apr 7 17:42:06 marceline kernel: Freezing user space processes completed (elapsed 0.001 seconds)
----- Error --------------------------------------------------------------------
Type: clojure.lang.ExceptionInfo
Message:
Data: {:type "class java.lang.NullPointerException"}
Location: /home/arne/.gitlibs/libs/babashka/tools.bbuild/b0ff7daeaed20ac4e73c1f600ce6bef3cd49f257/src/main/clojure/clojure/tools/build/util/pod.clj:1:29
----- Context ------------------------------------------------------------------
1: (ns clojure.tools.build.util.pod
^---
2: (:require [clojure.string :as str]))
(ns pie-a-la-mode)
;; Concurrency example from The Pragmatic Programmers. Waiters check if there's
;; enough pie and ice cream before they sell an order, but if they don't
;; coordinate it's still possible to sell more than we have.
;;
;; The below code should return either :ok or :not-available for a given order.
;; If we oversell, then it will throw an exception.
;;
;; How would you change this to ensure that that doesn't happen?
  • overtone/overtone#283

    A ten year old PR about sync-event being broken. Does no one actually use sync-event? The diff looks plausible, it adds a bunch of tests as well, but unsurprisingly it no longer applies cleanly.

    What we need here is for someone to open a REPL, verify that sync-event is indeed broken, and if so to rebase this branch on current main and submit a new PR.

Today we are happy and proud to announe the first public release of Piglet, a new programming language and dynamic runtime in the Lisp tradition, for the web age.

Piglet itself is written in JavaScript and Piglet. It can run in any modern JavaScript runtime, be it inside or out of the browser. We've been working hard on Piglet for the past six months, and are happy with how far it's come already.

That said we've been hesitant to make a public announcement. We have a big vision for Piglet, and bringing that vision into being is going to take time. We

POST /resolve
{:data {}
:query [{:airtable/bases
[{:airtable.base/tables
[:airtable.table/id
:airtable.table/base-id
:airtable.table/fields
:airtable.table/records
#_:airtable.records/next