├── .github └── workflows │ └── release.yaml ├── .gitignore ├── .svu.yaml ├── .vscode └── settings.json ├── ADMIN.md ├── CLAUDE.md ├── CONFIGURATION.md ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── LICENSE ├── README.md ├── RELEASE.md ├── aip.png ├── docker-compose.yml ├── examples ├── device-flow-cli │ ├── Cargo.lock │ ├── Cargo.toml │ ├── README.md │ ├── register-client.sh │ └── src │ │ └── main.rs ├── dpop-website │ ├── Cargo.lock │ ├── Cargo.toml │ ├── README.md │ └── src │ │ └── main.rs ├── flask-website │ ├── client_secrets.example.json │ ├── main.py │ └── requirements.txt ├── lifecycle-website │ ├── Cargo.lock │ ├── Cargo.toml │ ├── README.md │ └── src │ │ └── main.rs ├── private-key-jwt │ ├── .gitignore │ ├── README.md │ ├── create_private_key_jwt_client.sh │ └── test_private_key_jwt.sh ├── react-website │ ├── .env.example │ ├── .gitignore │ ├── DEPLOYMENT.md │ ├── README.md │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── server │ │ ├── dpop-test.ts │ │ ├── dpop.ts │ │ ├── index.ts │ │ ├── tsconfig.json │ │ └── types.ts │ ├── src │ │ ├── App.css │ │ ├── App.tsx │ │ ├── components │ │ │ ├── OAuthCallback.tsx │ │ │ └── OAuthDemo.tsx │ │ ├── hooks │ │ │ └── useOAuth.ts │ │ ├── main.tsx │ │ ├── types │ │ │ └── oauth.ts │ │ ├── utils │ │ │ ├── api.ts │ │ │ └── oauth.ts │ │ └── vite-env.d.ts │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts └── simple-website │ ├── Cargo.lock │ ├── Cargo.toml │ ├── README.md │ └── src │ └── main.rs ├── migrations ├── README.md ├── postgres │ ├── 001_initial_schema.sql │ ├── 002_add_nonce_to_authorization_codes.sql │ ├── 003_add_nonce_to_access_refresh_tokens.sql │ ├── 004_create_app_password_tables.sql │ ├── 005_add_token_expiration_to_oauth_clients.sql │ ├── 006_add_require_redirect_exact_to_oauth_clients.sql │ ├── 007_add_registration_access_token_to_oauth_clients.sql │ ├── 008_alter_token_expiration_to_bigint.sql │ ├── 009_refactor_sessions_and_requests.sql │ ├── 010_allow_null_did_in_atp_oauth_sessions.sql │ ├── 011_add_jwks_to_oauth_clients.sql │ ├── 012_add_client_metadata_fields.sql │ └── 013_create_device_codes.sql └── sqlite │ ├── 001_create_oauth_clients.sql │ ├── 002_create_authorization_codes.sql │ ├── 003_create_access_tokens.sql │ ├── 004_create_refresh_tokens.sql │ ├── 005_create_keys.sql │ ├── 006_create_par_requests.sql │ ├── 007_create_atp_oauth_sessions.sql │ ├── 008_create_authorization_requests.sql │ ├── 009_add_nonce_to_authorization_codes.sql │ ├── 010_add_nonce_to_access_refresh_tokens.sql │ ├── 011_create_app_passwords.sql │ ├── 012_create_app_password_sessions.sql │ ├── 013_add_token_expiration_to_oauth_clients.sql │ ├── 014_add_require_redirect_exact_to_oauth_clients.sql │ ├── 015_add_registration_access_token_to_oauth_clients.sql │ ├── 016_refactor_atp_oauth_sessions_primary_key.sql │ ├── 017_create_oauth_requests.sql │ ├── 018_add_metadata_to_atp_oauth_sessions.sql │ ├── 019_allow_null_did_in_atp_oauth_sessions.sql │ ├── 020_add_jwks_to_oauth_clients.sql │ ├── 021_remove_did_from_oauth_requests.sql │ ├── 022_remove_did_from_oauth_requests.sql │ ├── 023_add_client_metadata_fields.sql │ ├── 024_fix_atp_oauth_sessions_unique_constraint.sql │ └── 025_create_device_codes.sql ├── scripts └── test-postgres.sh ├── src ├── bin │ ├── aip-client-management.rs │ └── aip.rs ├── config.rs ├── errors.rs ├── http │ ├── context.rs │ ├── handler_app_password.rs │ ├── handler_atprotocol_client_metadata.rs │ ├── handler_atprotocol_oauth_authorize.rs │ ├── handler_atprotocol_oauth_callback.rs │ ├── handler_atprotocol_session.rs │ ├── handler_device_authorization.rs │ ├── handler_device_code.rs │ ├── handler_index.rs │ ├── handler_oauth.rs │ ├── handler_oauth_clients.rs │ ├── handler_par.rs │ ├── handler_userinfo.rs │ ├── handler_well_known.rs │ ├── handler_xrpc_clients.rs │ ├── middleware_auth.rs │ ├── mod.rs │ ├── server.rs │ └── utils_oauth.rs ├── lib.rs ├── oauth │ ├── atprotocol_bridge.rs │ ├── auth_server.rs │ ├── clients │ │ ├── mod.rs │ │ └── registration.rs │ ├── dpop.rs │ ├── dpop_nonce.rs │ ├── mod.rs │ ├── openid.rs │ ├── scope_validation.rs │ ├── time_tests.rs │ ├── types.rs │ ├── utils_app_password.rs │ └── utils_atprotocol_oauth.rs ├── storage │ ├── inmemory │ │ ├── atprotocol.rs │ │ ├── mod.rs │ │ ├── nonce.rs │ │ └── oauth.rs │ ├── key_provider.rs │ ├── mod.rs │ ├── postgres │ │ ├── access_tokens.rs │ │ ├── app_passwords.rs │ │ ├── atp_oauth_sessions.rs │ │ ├── authorization_codes.rs │ │ ├── authorization_requests.rs │ │ ├── device_codes.rs │ │ ├── did_documents.rs │ │ ├── keys.rs │ │ ├── mod.rs │ │ ├── oauth_clients.rs │ │ ├── oauth_request_storage.rs │ │ ├── par_requests.rs │ │ └── refresh_tokens.rs │ ├── sqlite │ │ ├── access_tokens.rs │ │ ├── app_passwords.rs │ │ ├── atp_oauth_sessions.rs │ │ ├── authorization_codes.rs │ │ ├── authorization_requests.rs │ │ ├── device_codes.rs │ │ ├── keys.rs │ │ ├── mod.rs │ │ ├── oauth_clients.rs │ │ ├── oauth_request_storage.rs │ │ ├── par_requests.rs │ │ └── refresh_tokens.rs │ └── traits.rs └── templates.rs ├── static ├── humans.txt ├── pico.colors.css ├── pico.css └── robots.txt └── templates ├── base.html ├── device.html ├── device_success.html ├── index.html ├── login.html └── nav.html /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | .env* 3 | .vscode 4 | sites/ 5 | *.db* -------------------------------------------------------------------------------- /.svu.yaml: -------------------------------------------------------------------------------- 1 | always: true 2 | v0: false 3 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /ADMIN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/ADMIN.md -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /CONFIGURATION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/CONFIGURATION.md -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/README.md -------------------------------------------------------------------------------- /RELEASE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/RELEASE.md -------------------------------------------------------------------------------- /aip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/aip.png -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /examples/device-flow-cli/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/device-flow-cli/Cargo.lock -------------------------------------------------------------------------------- /examples/device-flow-cli/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/device-flow-cli/Cargo.toml -------------------------------------------------------------------------------- /examples/device-flow-cli/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/device-flow-cli/README.md -------------------------------------------------------------------------------- /examples/device-flow-cli/register-client.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/device-flow-cli/register-client.sh -------------------------------------------------------------------------------- /examples/device-flow-cli/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/device-flow-cli/src/main.rs -------------------------------------------------------------------------------- /examples/dpop-website/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/dpop-website/Cargo.lock -------------------------------------------------------------------------------- /examples/dpop-website/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/dpop-website/Cargo.toml -------------------------------------------------------------------------------- /examples/dpop-website/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/dpop-website/README.md -------------------------------------------------------------------------------- /examples/dpop-website/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/dpop-website/src/main.rs -------------------------------------------------------------------------------- /examples/flask-website/client_secrets.example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/flask-website/client_secrets.example.json -------------------------------------------------------------------------------- /examples/flask-website/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/flask-website/main.py -------------------------------------------------------------------------------- /examples/flask-website/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/flask-website/requirements.txt -------------------------------------------------------------------------------- /examples/lifecycle-website/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/lifecycle-website/Cargo.lock -------------------------------------------------------------------------------- /examples/lifecycle-website/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/lifecycle-website/Cargo.toml -------------------------------------------------------------------------------- /examples/lifecycle-website/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/lifecycle-website/README.md -------------------------------------------------------------------------------- /examples/lifecycle-website/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/lifecycle-website/src/main.rs -------------------------------------------------------------------------------- /examples/private-key-jwt/.gitignore: -------------------------------------------------------------------------------- 1 | private_key_jwt_client -------------------------------------------------------------------------------- /examples/private-key-jwt/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/private-key-jwt/README.md -------------------------------------------------------------------------------- /examples/private-key-jwt/create_private_key_jwt_client.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/private-key-jwt/create_private_key_jwt_client.sh -------------------------------------------------------------------------------- /examples/private-key-jwt/test_private_key_jwt.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/private-key-jwt/test_private_key_jwt.sh -------------------------------------------------------------------------------- /examples/react-website/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/.env.example -------------------------------------------------------------------------------- /examples/react-website/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/.gitignore -------------------------------------------------------------------------------- /examples/react-website/DEPLOYMENT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/DEPLOYMENT.md -------------------------------------------------------------------------------- /examples/react-website/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/README.md -------------------------------------------------------------------------------- /examples/react-website/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/index.html -------------------------------------------------------------------------------- /examples/react-website/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/package-lock.json -------------------------------------------------------------------------------- /examples/react-website/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/package.json -------------------------------------------------------------------------------- /examples/react-website/server/dpop-test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/server/dpop-test.ts -------------------------------------------------------------------------------- /examples/react-website/server/dpop.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/server/dpop.ts -------------------------------------------------------------------------------- /examples/react-website/server/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/server/index.ts -------------------------------------------------------------------------------- /examples/react-website/server/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/server/tsconfig.json -------------------------------------------------------------------------------- /examples/react-website/server/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/server/types.ts -------------------------------------------------------------------------------- /examples/react-website/src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/src/App.css -------------------------------------------------------------------------------- /examples/react-website/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/src/App.tsx -------------------------------------------------------------------------------- /examples/react-website/src/components/OAuthCallback.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/src/components/OAuthCallback.tsx -------------------------------------------------------------------------------- /examples/react-website/src/components/OAuthDemo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/src/components/OAuthDemo.tsx -------------------------------------------------------------------------------- /examples/react-website/src/hooks/useOAuth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/src/hooks/useOAuth.ts -------------------------------------------------------------------------------- /examples/react-website/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/src/main.tsx -------------------------------------------------------------------------------- /examples/react-website/src/types/oauth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/src/types/oauth.ts -------------------------------------------------------------------------------- /examples/react-website/src/utils/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/src/utils/api.ts -------------------------------------------------------------------------------- /examples/react-website/src/utils/oauth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/src/utils/oauth.ts -------------------------------------------------------------------------------- /examples/react-website/src/vite-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/src/vite-env.d.ts -------------------------------------------------------------------------------- /examples/react-website/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/tsconfig.json -------------------------------------------------------------------------------- /examples/react-website/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/tsconfig.node.json -------------------------------------------------------------------------------- /examples/react-website/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/react-website/vite.config.ts -------------------------------------------------------------------------------- /examples/simple-website/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/simple-website/Cargo.lock -------------------------------------------------------------------------------- /examples/simple-website/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/simple-website/Cargo.toml -------------------------------------------------------------------------------- /examples/simple-website/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/simple-website/README.md -------------------------------------------------------------------------------- /examples/simple-website/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/examples/simple-website/src/main.rs -------------------------------------------------------------------------------- /migrations/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/README.md -------------------------------------------------------------------------------- /migrations/postgres/001_initial_schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/001_initial_schema.sql -------------------------------------------------------------------------------- /migrations/postgres/002_add_nonce_to_authorization_codes.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/002_add_nonce_to_authorization_codes.sql -------------------------------------------------------------------------------- /migrations/postgres/003_add_nonce_to_access_refresh_tokens.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/003_add_nonce_to_access_refresh_tokens.sql -------------------------------------------------------------------------------- /migrations/postgres/004_create_app_password_tables.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/004_create_app_password_tables.sql -------------------------------------------------------------------------------- /migrations/postgres/005_add_token_expiration_to_oauth_clients.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/005_add_token_expiration_to_oauth_clients.sql -------------------------------------------------------------------------------- /migrations/postgres/006_add_require_redirect_exact_to_oauth_clients.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/006_add_require_redirect_exact_to_oauth_clients.sql -------------------------------------------------------------------------------- /migrations/postgres/007_add_registration_access_token_to_oauth_clients.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/007_add_registration_access_token_to_oauth_clients.sql -------------------------------------------------------------------------------- /migrations/postgres/008_alter_token_expiration_to_bigint.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/008_alter_token_expiration_to_bigint.sql -------------------------------------------------------------------------------- /migrations/postgres/009_refactor_sessions_and_requests.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/009_refactor_sessions_and_requests.sql -------------------------------------------------------------------------------- /migrations/postgres/010_allow_null_did_in_atp_oauth_sessions.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/010_allow_null_did_in_atp_oauth_sessions.sql -------------------------------------------------------------------------------- /migrations/postgres/011_add_jwks_to_oauth_clients.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/011_add_jwks_to_oauth_clients.sql -------------------------------------------------------------------------------- /migrations/postgres/012_add_client_metadata_fields.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/012_add_client_metadata_fields.sql -------------------------------------------------------------------------------- /migrations/postgres/013_create_device_codes.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/postgres/013_create_device_codes.sql -------------------------------------------------------------------------------- /migrations/sqlite/001_create_oauth_clients.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/001_create_oauth_clients.sql -------------------------------------------------------------------------------- /migrations/sqlite/002_create_authorization_codes.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/002_create_authorization_codes.sql -------------------------------------------------------------------------------- /migrations/sqlite/003_create_access_tokens.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/003_create_access_tokens.sql -------------------------------------------------------------------------------- /migrations/sqlite/004_create_refresh_tokens.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/004_create_refresh_tokens.sql -------------------------------------------------------------------------------- /migrations/sqlite/005_create_keys.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/005_create_keys.sql -------------------------------------------------------------------------------- /migrations/sqlite/006_create_par_requests.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/006_create_par_requests.sql -------------------------------------------------------------------------------- /migrations/sqlite/007_create_atp_oauth_sessions.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/007_create_atp_oauth_sessions.sql -------------------------------------------------------------------------------- /migrations/sqlite/008_create_authorization_requests.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/008_create_authorization_requests.sql -------------------------------------------------------------------------------- /migrations/sqlite/009_add_nonce_to_authorization_codes.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/009_add_nonce_to_authorization_codes.sql -------------------------------------------------------------------------------- /migrations/sqlite/010_add_nonce_to_access_refresh_tokens.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/010_add_nonce_to_access_refresh_tokens.sql -------------------------------------------------------------------------------- /migrations/sqlite/011_create_app_passwords.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/011_create_app_passwords.sql -------------------------------------------------------------------------------- /migrations/sqlite/012_create_app_password_sessions.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/012_create_app_password_sessions.sql -------------------------------------------------------------------------------- /migrations/sqlite/013_add_token_expiration_to_oauth_clients.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/013_add_token_expiration_to_oauth_clients.sql -------------------------------------------------------------------------------- /migrations/sqlite/014_add_require_redirect_exact_to_oauth_clients.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/014_add_require_redirect_exact_to_oauth_clients.sql -------------------------------------------------------------------------------- /migrations/sqlite/015_add_registration_access_token_to_oauth_clients.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/015_add_registration_access_token_to_oauth_clients.sql -------------------------------------------------------------------------------- /migrations/sqlite/016_refactor_atp_oauth_sessions_primary_key.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/016_refactor_atp_oauth_sessions_primary_key.sql -------------------------------------------------------------------------------- /migrations/sqlite/017_create_oauth_requests.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/017_create_oauth_requests.sql -------------------------------------------------------------------------------- /migrations/sqlite/018_add_metadata_to_atp_oauth_sessions.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/018_add_metadata_to_atp_oauth_sessions.sql -------------------------------------------------------------------------------- /migrations/sqlite/019_allow_null_did_in_atp_oauth_sessions.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/019_allow_null_did_in_atp_oauth_sessions.sql -------------------------------------------------------------------------------- /migrations/sqlite/020_add_jwks_to_oauth_clients.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/020_add_jwks_to_oauth_clients.sql -------------------------------------------------------------------------------- /migrations/sqlite/021_remove_did_from_oauth_requests.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/021_remove_did_from_oauth_requests.sql -------------------------------------------------------------------------------- /migrations/sqlite/022_remove_did_from_oauth_requests.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/022_remove_did_from_oauth_requests.sql -------------------------------------------------------------------------------- /migrations/sqlite/023_add_client_metadata_fields.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/023_add_client_metadata_fields.sql -------------------------------------------------------------------------------- /migrations/sqlite/024_fix_atp_oauth_sessions_unique_constraint.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/024_fix_atp_oauth_sessions_unique_constraint.sql -------------------------------------------------------------------------------- /migrations/sqlite/025_create_device_codes.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/migrations/sqlite/025_create_device_codes.sql -------------------------------------------------------------------------------- /scripts/test-postgres.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/scripts/test-postgres.sh -------------------------------------------------------------------------------- /src/bin/aip-client-management.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/bin/aip-client-management.rs -------------------------------------------------------------------------------- /src/bin/aip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/bin/aip.rs -------------------------------------------------------------------------------- /src/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/config.rs -------------------------------------------------------------------------------- /src/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/errors.rs -------------------------------------------------------------------------------- /src/http/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/context.rs -------------------------------------------------------------------------------- /src/http/handler_app_password.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_app_password.rs -------------------------------------------------------------------------------- /src/http/handler_atprotocol_client_metadata.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_atprotocol_client_metadata.rs -------------------------------------------------------------------------------- /src/http/handler_atprotocol_oauth_authorize.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_atprotocol_oauth_authorize.rs -------------------------------------------------------------------------------- /src/http/handler_atprotocol_oauth_callback.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_atprotocol_oauth_callback.rs -------------------------------------------------------------------------------- /src/http/handler_atprotocol_session.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_atprotocol_session.rs -------------------------------------------------------------------------------- /src/http/handler_device_authorization.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_device_authorization.rs -------------------------------------------------------------------------------- /src/http/handler_device_code.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_device_code.rs -------------------------------------------------------------------------------- /src/http/handler_index.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_index.rs -------------------------------------------------------------------------------- /src/http/handler_oauth.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_oauth.rs -------------------------------------------------------------------------------- /src/http/handler_oauth_clients.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_oauth_clients.rs -------------------------------------------------------------------------------- /src/http/handler_par.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_par.rs -------------------------------------------------------------------------------- /src/http/handler_userinfo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_userinfo.rs -------------------------------------------------------------------------------- /src/http/handler_well_known.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_well_known.rs -------------------------------------------------------------------------------- /src/http/handler_xrpc_clients.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/handler_xrpc_clients.rs -------------------------------------------------------------------------------- /src/http/middleware_auth.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/middleware_auth.rs -------------------------------------------------------------------------------- /src/http/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/mod.rs -------------------------------------------------------------------------------- /src/http/server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/server.rs -------------------------------------------------------------------------------- /src/http/utils_oauth.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/http/utils_oauth.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/oauth/atprotocol_bridge.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/atprotocol_bridge.rs -------------------------------------------------------------------------------- /src/oauth/auth_server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/auth_server.rs -------------------------------------------------------------------------------- /src/oauth/clients/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/clients/mod.rs -------------------------------------------------------------------------------- /src/oauth/clients/registration.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/clients/registration.rs -------------------------------------------------------------------------------- /src/oauth/dpop.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/dpop.rs -------------------------------------------------------------------------------- /src/oauth/dpop_nonce.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/dpop_nonce.rs -------------------------------------------------------------------------------- /src/oauth/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/mod.rs -------------------------------------------------------------------------------- /src/oauth/openid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/openid.rs -------------------------------------------------------------------------------- /src/oauth/scope_validation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/scope_validation.rs -------------------------------------------------------------------------------- /src/oauth/time_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/time_tests.rs -------------------------------------------------------------------------------- /src/oauth/types.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/types.rs -------------------------------------------------------------------------------- /src/oauth/utils_app_password.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/utils_app_password.rs -------------------------------------------------------------------------------- /src/oauth/utils_atprotocol_oauth.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/oauth/utils_atprotocol_oauth.rs -------------------------------------------------------------------------------- /src/storage/inmemory/atprotocol.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/inmemory/atprotocol.rs -------------------------------------------------------------------------------- /src/storage/inmemory/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/inmemory/mod.rs -------------------------------------------------------------------------------- /src/storage/inmemory/nonce.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/inmemory/nonce.rs -------------------------------------------------------------------------------- /src/storage/inmemory/oauth.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/inmemory/oauth.rs -------------------------------------------------------------------------------- /src/storage/key_provider.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/key_provider.rs -------------------------------------------------------------------------------- /src/storage/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/mod.rs -------------------------------------------------------------------------------- /src/storage/postgres/access_tokens.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/access_tokens.rs -------------------------------------------------------------------------------- /src/storage/postgres/app_passwords.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/app_passwords.rs -------------------------------------------------------------------------------- /src/storage/postgres/atp_oauth_sessions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/atp_oauth_sessions.rs -------------------------------------------------------------------------------- /src/storage/postgres/authorization_codes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/authorization_codes.rs -------------------------------------------------------------------------------- /src/storage/postgres/authorization_requests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/authorization_requests.rs -------------------------------------------------------------------------------- /src/storage/postgres/device_codes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/device_codes.rs -------------------------------------------------------------------------------- /src/storage/postgres/did_documents.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/did_documents.rs -------------------------------------------------------------------------------- /src/storage/postgres/keys.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/keys.rs -------------------------------------------------------------------------------- /src/storage/postgres/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/mod.rs -------------------------------------------------------------------------------- /src/storage/postgres/oauth_clients.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/oauth_clients.rs -------------------------------------------------------------------------------- /src/storage/postgres/oauth_request_storage.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/oauth_request_storage.rs -------------------------------------------------------------------------------- /src/storage/postgres/par_requests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/par_requests.rs -------------------------------------------------------------------------------- /src/storage/postgres/refresh_tokens.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/postgres/refresh_tokens.rs -------------------------------------------------------------------------------- /src/storage/sqlite/access_tokens.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/access_tokens.rs -------------------------------------------------------------------------------- /src/storage/sqlite/app_passwords.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/app_passwords.rs -------------------------------------------------------------------------------- /src/storage/sqlite/atp_oauth_sessions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/atp_oauth_sessions.rs -------------------------------------------------------------------------------- /src/storage/sqlite/authorization_codes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/authorization_codes.rs -------------------------------------------------------------------------------- /src/storage/sqlite/authorization_requests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/authorization_requests.rs -------------------------------------------------------------------------------- /src/storage/sqlite/device_codes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/device_codes.rs -------------------------------------------------------------------------------- /src/storage/sqlite/keys.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/keys.rs -------------------------------------------------------------------------------- /src/storage/sqlite/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/mod.rs -------------------------------------------------------------------------------- /src/storage/sqlite/oauth_clients.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/oauth_clients.rs -------------------------------------------------------------------------------- /src/storage/sqlite/oauth_request_storage.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/oauth_request_storage.rs -------------------------------------------------------------------------------- /src/storage/sqlite/par_requests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/par_requests.rs -------------------------------------------------------------------------------- /src/storage/sqlite/refresh_tokens.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/sqlite/refresh_tokens.rs -------------------------------------------------------------------------------- /src/storage/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/storage/traits.rs -------------------------------------------------------------------------------- /src/templates.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/src/templates.rs -------------------------------------------------------------------------------- /static/humans.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/static/humans.txt -------------------------------------------------------------------------------- /static/pico.colors.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/static/pico.colors.css -------------------------------------------------------------------------------- /static/pico.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/static/pico.css -------------------------------------------------------------------------------- /static/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/static/robots.txt -------------------------------------------------------------------------------- /templates/base.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/templates/base.html -------------------------------------------------------------------------------- /templates/device.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/templates/device.html -------------------------------------------------------------------------------- /templates/device_success.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/templates/device_success.html -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/templates/index.html -------------------------------------------------------------------------------- /templates/login.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/templates/login.html -------------------------------------------------------------------------------- /templates/nav.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graze-social/aip/HEAD/templates/nav.html --------------------------------------------------------------------------------