Skip to content

Commit 01520c4

Browse files
authored
Merge pull request #1 from 1Password/jill/public-specs
Add Local Delegated Agent Identity Architecture draft
2 parents 1e44f02 + 534d504 commit 01520c4

29 files changed

Lines changed: 3212 additions & 1 deletion

.github/workflows/build.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: Build and publish drafts
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
12+
concurrency:
13+
group: pages
14+
cancel-in-progress: false
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
21+
22+
- uses: ruby/setup-ruby@97ecb7b512899eb71ab1bf2310a624c6f1589ac6 # v1.308.0
23+
with:
24+
ruby-version: '3.3'
25+
26+
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
27+
with:
28+
python-version: '3.12'
29+
30+
- name: Install build tools
31+
run: |
32+
gem install kramdown-rfc -v 1.7.39
33+
python -m pip install xml2rfc==3.34.0
34+
35+
- name: Build drafts
36+
run: make all xml
37+
38+
- name: Stage site
39+
run: |
40+
mkdir -p _site
41+
cp -r assets _site/assets
42+
cp draft-*.html draft-*.txt draft-*.xml _site/
43+
bash scripts/gen-index.sh > _site/index.html
44+
45+
- name: Upload build artifacts
46+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
47+
with:
48+
name: drafts
49+
path: |
50+
draft-*.xml
51+
draft-*.html
52+
draft-*.txt
53+
54+
- name: Upload Pages artifact
55+
if: github.ref == 'refs/heads/main'
56+
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
57+
with:
58+
path: _site
59+
60+
lint:
61+
needs: build
62+
runs-on: ubuntu-latest
63+
steps:
64+
- name: Download built drafts
65+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
66+
with:
67+
name: drafts
68+
69+
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
70+
with:
71+
node-version: '20'
72+
73+
- name: Run idnits
74+
run: |
75+
for f in draft-*.txt; do
76+
echo "::group::idnits $f"
77+
npx --yes @ietf-tools/idnits --offline "$f"
78+
echo "::endgroup::"
79+
done
80+
81+
deploy:
82+
if: github.ref == 'refs/heads/main'
83+
needs: [build, lint]
84+
runs-on: ubuntu-latest
85+
permissions:
86+
pages: write
87+
id-token: write
88+
environment:
89+
name: github-pages
90+
url: ${{ steps.deployment.outputs.page_url }}
91+
steps:
92+
- id: deployment
93+
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Build outputs — regenerated from the .md source by `make` / CI
2+
draft-*.html
3+
draft-*.txt
4+
draft-*.xml
5+
6+
# Local-only scratch
7+
file.txt
8+
.DS_Store
9+
.decibel/

.refcache/reference.RFC.2119.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
2+
<front>
3+
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
4+
<author fullname="S. Bradner" initials="S." surname="Bradner"/>
5+
<date month="March" year="1997"/>
6+
<abstract>
7+
<t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
8+
</abstract>
9+
</front>
10+
<seriesInfo name="BCP" value="14"/>
11+
<seriesInfo name="RFC" value="2119"/>
12+
<seriesInfo name="DOI" value="10.17487/RFC2119"/>
13+
</reference>

.refcache/reference.RFC.6749.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<reference anchor="RFC6749" target="https://www.rfc-editor.org/info/rfc6749">
2+
<front>
3+
<title>The OAuth 2.0 Authorization Framework</title>
4+
<author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
5+
<date month="October" year="2012"/>
6+
<abstract>
7+
<t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
8+
</abstract>
9+
</front>
10+
<seriesInfo name="RFC" value="6749"/>
11+
<seriesInfo name="DOI" value="10.17487/RFC6749"/>
12+
</reference>

.refcache/reference.RFC.7519.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<reference anchor="RFC7519" target="https://www.rfc-editor.org/info/rfc7519">
2+
<front>
3+
<title>JSON Web Token (JWT)</title>
4+
<author fullname="M. Jones" initials="M." surname="Jones"/>
5+
<author fullname="J. Bradley" initials="J." surname="Bradley"/>
6+
<author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
7+
<date month="May" year="2015"/>
8+
<abstract>
9+
<t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
10+
</abstract>
11+
</front>
12+
<seriesInfo name="RFC" value="7519"/>
13+
<seriesInfo name="DOI" value="10.17487/RFC7519"/>
14+
</reference>

.refcache/reference.RFC.7591.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<reference anchor="RFC7591" target="https://www.rfc-editor.org/info/rfc7591">
2+
<front>
3+
<title>OAuth 2.0 Dynamic Client Registration Protocol</title>
4+
<author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
5+
<author fullname="M. Jones" initials="M." surname="Jones"/>
6+
<author fullname="J. Bradley" initials="J." surname="Bradley"/>
7+
<author fullname="M. Machulak" initials="M." surname="Machulak"/>
8+
<author fullname="P. Hunt" initials="P." surname="Hunt"/>
9+
<date month="July" year="2015"/>
10+
<abstract>
11+
<t>This specification defines mechanisms for dynamically registering OAuth 2.0 clients with authorization servers. Registration requests send a set of desired client metadata values to the authorization server. The resulting registration responses return a client identifier to use at the authorization server and the client metadata values registered for the client. The client can then use this registration information to communicate with the authorization server using the OAuth 2.0 protocol. This specification also defines a set of common client metadata fields and values for clients to use during registration.</t>
12+
</abstract>
13+
</front>
14+
<seriesInfo name="RFC" value="7591"/>
15+
<seriesInfo name="DOI" value="10.17487/RFC7591"/>
16+
</reference>

.refcache/reference.RFC.7636.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<reference anchor="RFC7636" target="https://www.rfc-editor.org/info/rfc7636">
2+
<front>
3+
<title>Proof Key for Code Exchange by OAuth Public Clients</title>
4+
<author fullname="N. Sakimura" initials="N." role="editor" surname="Sakimura"/>
5+
<author fullname="J. Bradley" initials="J." surname="Bradley"/>
6+
<author fullname="N. Agarwal" initials="N." surname="Agarwal"/>
7+
<date month="September" year="2015"/>
8+
<abstract>
9+
<t>OAuth 2.0 public clients utilizing the Authorization Code Grant are susceptible to the authorization code interception attack. This specification describes the attack as well as a technique to mitigate against the threat through the use of Proof Key for Code Exchange (PKCE, pronounced "pixy").</t>
10+
</abstract>
11+
</front>
12+
<seriesInfo name="RFC" value="7636"/>
13+
<seriesInfo name="DOI" value="10.17487/RFC7636"/>
14+
</reference>

.refcache/reference.RFC.8174.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
2+
<front>
3+
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
4+
<author fullname="B. Leiba" initials="B." surname="Leiba"/>
5+
<date month="May" year="2017"/>
6+
<abstract>
7+
<t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
8+
</abstract>
9+
</front>
10+
<seriesInfo name="BCP" value="14"/>
11+
<seriesInfo name="RFC" value="8174"/>
12+
<seriesInfo name="DOI" value="10.17487/RFC8174"/>
13+
</reference>

.refcache/reference.RFC.8252.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<reference anchor="RFC8252" target="https://www.rfc-editor.org/info/rfc8252">
2+
<front>
3+
<title>OAuth 2.0 for Native Apps</title>
4+
<author fullname="W. Denniss" initials="W." surname="Denniss"/>
5+
<author fullname="J. Bradley" initials="J." surname="Bradley"/>
6+
<date month="October" year="2017"/>
7+
<abstract>
8+
<t>OAuth 2.0 authorization requests from native apps should only be made through external user-agents, primarily the user's browser. This specification details the security and usability reasons why this is the case and how native apps and authorization servers can implement this best practice.</t>
9+
</abstract>
10+
</front>
11+
<seriesInfo name="BCP" value="212"/>
12+
<seriesInfo name="RFC" value="8252"/>
13+
<seriesInfo name="DOI" value="10.17487/RFC8252"/>
14+
</reference>

.refcache/reference.RFC.8693.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<reference anchor="RFC8693" target="https://www.rfc-editor.org/info/rfc8693">
2+
<front>
3+
<title>OAuth 2.0 Token Exchange</title>
4+
<author fullname="M. Jones" initials="M." surname="Jones"/>
5+
<author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
6+
<author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
7+
<author fullname="J. Bradley" initials="J." surname="Bradley"/>
8+
<author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
9+
<date month="January" year="2020"/>
10+
<abstract>
11+
<t>This specification defines a protocol for an HTTP- and JSON-based Security Token Service (STS) by defining how to request and obtain security tokens from OAuth 2.0 authorization servers, including security tokens employing impersonation and delegation.</t>
12+
</abstract>
13+
</front>
14+
<seriesInfo name="RFC" value="8693"/>
15+
<seriesInfo name="DOI" value="10.17487/RFC8693"/>
16+
</reference>

0 commit comments

Comments
 (0)