├── .gitignore ├── LICENSE-CC0 ├── Makefile ├── README.md ├── go-oauth-cli-app ├── README.md ├── go.mod ├── go.sum ├── main.go ├── sqlitestore.go └── static │ └── oauth-client-metadata.json ├── go-oauth-web-app ├── .gitignore ├── README.md ├── base.html ├── error.html ├── go.mod ├── go.sum ├── home.html ├── img │ ├── authorization-screenshot.png │ ├── bff_example.drawio.svg │ └── go-web-example-screenshot.png ├── login.html ├── main.go ├── post.html ├── post_success.html ├── sqlitestore.go ├── sqlitestore_test.go └── util.go ├── go-repo-export ├── .gitignore ├── README.md ├── go.mod ├── go.sum ├── main.go └── test.sh ├── python-bsky-post ├── README.md └── create_bsky_post.py ├── python-oauth-web-app ├── .gitignore ├── .python-version ├── README.md ├── app.py ├── atproto_identity.py ├── atproto_oauth.py ├── atproto_security.py ├── atproto_util.py ├── bsky_util.py ├── example.env ├── generate_jwk.py ├── pyproject.toml ├── schema.sql ├── templates │ ├── base.html │ ├── bsky_post.html │ ├── bsky_post_success.html │ ├── error.html │ ├── home.html │ └── login.html └── uv.lock ├── react-native-oauth ├── .gitignore ├── README.md ├── app.json ├── app │ ├── (authenticated) │ │ ├── _layout.tsx │ │ └── index.tsx │ ├── _layout.tsx │ └── sign-in.tsx ├── assets │ └── images │ │ ├── android-icon-background.png │ │ ├── android-icon-foreground.png │ │ ├── android-icon-monochrome.png │ │ ├── favicon.png │ │ ├── icon.png │ │ ├── partial-react-logo.png │ │ ├── react-logo.png │ │ ├── react-logo@2x.png │ │ ├── react-logo@3x.png │ │ └── splash-icon.png ├── components │ ├── BskyAgentProvider.tsx │ ├── PdsAgentProvider.tsx │ ├── SessionProvider.tsx │ └── SignInForm.tsx ├── eslint.config.js ├── metro.config.js ├── oauth-client-metadata.json ├── package.json ├── tsconfig.json └── utils │ └── oauthClient.ts ├── ts-bot ├── .gitignore ├── README.md ├── example.env ├── index.js ├── index.ts ├── package-lock.json ├── package.json └── tsconfig.json └── vanillajs-oauth-web-app ├── .gitignore ├── README.md ├── index.html ├── main.js └── oauth-client-metadata.example.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /LICENSE-CC0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/LICENSE-CC0 -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/README.md -------------------------------------------------------------------------------- /go-oauth-cli-app/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-cli-app/README.md -------------------------------------------------------------------------------- /go-oauth-cli-app/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-cli-app/go.mod -------------------------------------------------------------------------------- /go-oauth-cli-app/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-cli-app/go.sum -------------------------------------------------------------------------------- /go-oauth-cli-app/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-cli-app/main.go -------------------------------------------------------------------------------- /go-oauth-cli-app/sqlitestore.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-cli-app/sqlitestore.go -------------------------------------------------------------------------------- /go-oauth-cli-app/static/oauth-client-metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-cli-app/static/oauth-client-metadata.json -------------------------------------------------------------------------------- /go-oauth-web-app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/.gitignore -------------------------------------------------------------------------------- /go-oauth-web-app/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/README.md -------------------------------------------------------------------------------- /go-oauth-web-app/base.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/base.html -------------------------------------------------------------------------------- /go-oauth-web-app/error.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/error.html -------------------------------------------------------------------------------- /go-oauth-web-app/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/go.mod -------------------------------------------------------------------------------- /go-oauth-web-app/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/go.sum -------------------------------------------------------------------------------- /go-oauth-web-app/home.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/home.html -------------------------------------------------------------------------------- /go-oauth-web-app/img/authorization-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/img/authorization-screenshot.png -------------------------------------------------------------------------------- /go-oauth-web-app/img/bff_example.drawio.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/img/bff_example.drawio.svg -------------------------------------------------------------------------------- /go-oauth-web-app/img/go-web-example-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/img/go-web-example-screenshot.png -------------------------------------------------------------------------------- /go-oauth-web-app/login.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/login.html -------------------------------------------------------------------------------- /go-oauth-web-app/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/main.go -------------------------------------------------------------------------------- /go-oauth-web-app/post.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/post.html -------------------------------------------------------------------------------- /go-oauth-web-app/post_success.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/post_success.html -------------------------------------------------------------------------------- /go-oauth-web-app/sqlitestore.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/sqlitestore.go -------------------------------------------------------------------------------- /go-oauth-web-app/sqlitestore_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/sqlitestore_test.go -------------------------------------------------------------------------------- /go-oauth-web-app/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-oauth-web-app/util.go -------------------------------------------------------------------------------- /go-repo-export/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-repo-export/.gitignore -------------------------------------------------------------------------------- /go-repo-export/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-repo-export/README.md -------------------------------------------------------------------------------- /go-repo-export/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-repo-export/go.mod -------------------------------------------------------------------------------- /go-repo-export/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-repo-export/go.sum -------------------------------------------------------------------------------- /go-repo-export/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-repo-export/main.go -------------------------------------------------------------------------------- /go-repo-export/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/go-repo-export/test.sh -------------------------------------------------------------------------------- /python-bsky-post/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-bsky-post/README.md -------------------------------------------------------------------------------- /python-bsky-post/create_bsky_post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-bsky-post/create_bsky_post.py -------------------------------------------------------------------------------- /python-oauth-web-app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/.gitignore -------------------------------------------------------------------------------- /python-oauth-web-app/.python-version: -------------------------------------------------------------------------------- 1 | 3.12.4 2 | -------------------------------------------------------------------------------- /python-oauth-web-app/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/README.md -------------------------------------------------------------------------------- /python-oauth-web-app/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/app.py -------------------------------------------------------------------------------- /python-oauth-web-app/atproto_identity.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/atproto_identity.py -------------------------------------------------------------------------------- /python-oauth-web-app/atproto_oauth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/atproto_oauth.py -------------------------------------------------------------------------------- /python-oauth-web-app/atproto_security.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/atproto_security.py -------------------------------------------------------------------------------- /python-oauth-web-app/atproto_util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/atproto_util.py -------------------------------------------------------------------------------- /python-oauth-web-app/bsky_util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/bsky_util.py -------------------------------------------------------------------------------- /python-oauth-web-app/example.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/example.env -------------------------------------------------------------------------------- /python-oauth-web-app/generate_jwk.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/generate_jwk.py -------------------------------------------------------------------------------- /python-oauth-web-app/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/pyproject.toml -------------------------------------------------------------------------------- /python-oauth-web-app/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/schema.sql -------------------------------------------------------------------------------- /python-oauth-web-app/templates/base.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/templates/base.html -------------------------------------------------------------------------------- /python-oauth-web-app/templates/bsky_post.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/templates/bsky_post.html -------------------------------------------------------------------------------- /python-oauth-web-app/templates/bsky_post_success.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/templates/bsky_post_success.html -------------------------------------------------------------------------------- /python-oauth-web-app/templates/error.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/templates/error.html -------------------------------------------------------------------------------- /python-oauth-web-app/templates/home.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/templates/home.html -------------------------------------------------------------------------------- /python-oauth-web-app/templates/login.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/templates/login.html -------------------------------------------------------------------------------- /python-oauth-web-app/uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/python-oauth-web-app/uv.lock -------------------------------------------------------------------------------- /react-native-oauth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/.gitignore -------------------------------------------------------------------------------- /react-native-oauth/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/README.md -------------------------------------------------------------------------------- /react-native-oauth/app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/app.json -------------------------------------------------------------------------------- /react-native-oauth/app/(authenticated)/_layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/app/(authenticated)/_layout.tsx -------------------------------------------------------------------------------- /react-native-oauth/app/(authenticated)/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/app/(authenticated)/index.tsx -------------------------------------------------------------------------------- /react-native-oauth/app/_layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/app/_layout.tsx -------------------------------------------------------------------------------- /react-native-oauth/app/sign-in.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/app/sign-in.tsx -------------------------------------------------------------------------------- /react-native-oauth/assets/images/android-icon-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/assets/images/android-icon-background.png -------------------------------------------------------------------------------- /react-native-oauth/assets/images/android-icon-foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/assets/images/android-icon-foreground.png -------------------------------------------------------------------------------- /react-native-oauth/assets/images/android-icon-monochrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/assets/images/android-icon-monochrome.png -------------------------------------------------------------------------------- /react-native-oauth/assets/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/assets/images/favicon.png -------------------------------------------------------------------------------- /react-native-oauth/assets/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/assets/images/icon.png -------------------------------------------------------------------------------- /react-native-oauth/assets/images/partial-react-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/assets/images/partial-react-logo.png -------------------------------------------------------------------------------- /react-native-oauth/assets/images/react-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/assets/images/react-logo.png -------------------------------------------------------------------------------- /react-native-oauth/assets/images/react-logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/assets/images/react-logo@2x.png -------------------------------------------------------------------------------- /react-native-oauth/assets/images/react-logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/assets/images/react-logo@3x.png -------------------------------------------------------------------------------- /react-native-oauth/assets/images/splash-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/assets/images/splash-icon.png -------------------------------------------------------------------------------- /react-native-oauth/components/BskyAgentProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/components/BskyAgentProvider.tsx -------------------------------------------------------------------------------- /react-native-oauth/components/PdsAgentProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/components/PdsAgentProvider.tsx -------------------------------------------------------------------------------- /react-native-oauth/components/SessionProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/components/SessionProvider.tsx -------------------------------------------------------------------------------- /react-native-oauth/components/SignInForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/components/SignInForm.tsx -------------------------------------------------------------------------------- /react-native-oauth/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/eslint.config.js -------------------------------------------------------------------------------- /react-native-oauth/metro.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/metro.config.js -------------------------------------------------------------------------------- /react-native-oauth/oauth-client-metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/oauth-client-metadata.json -------------------------------------------------------------------------------- /react-native-oauth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/package.json -------------------------------------------------------------------------------- /react-native-oauth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/tsconfig.json -------------------------------------------------------------------------------- /react-native-oauth/utils/oauthClient.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/react-native-oauth/utils/oauthClient.ts -------------------------------------------------------------------------------- /ts-bot/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/ts-bot/.gitignore -------------------------------------------------------------------------------- /ts-bot/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/ts-bot/README.md -------------------------------------------------------------------------------- /ts-bot/example.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/ts-bot/example.env -------------------------------------------------------------------------------- /ts-bot/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/ts-bot/index.js -------------------------------------------------------------------------------- /ts-bot/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/ts-bot/index.ts -------------------------------------------------------------------------------- /ts-bot/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/ts-bot/package-lock.json -------------------------------------------------------------------------------- /ts-bot/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/ts-bot/package.json -------------------------------------------------------------------------------- /ts-bot/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/ts-bot/tsconfig.json -------------------------------------------------------------------------------- /vanillajs-oauth-web-app/.gitignore: -------------------------------------------------------------------------------- 1 | oauth-client-metadata.json -------------------------------------------------------------------------------- /vanillajs-oauth-web-app/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/vanillajs-oauth-web-app/README.md -------------------------------------------------------------------------------- /vanillajs-oauth-web-app/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/vanillajs-oauth-web-app/index.html -------------------------------------------------------------------------------- /vanillajs-oauth-web-app/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/vanillajs-oauth-web-app/main.js -------------------------------------------------------------------------------- /vanillajs-oauth-web-app/oauth-client-metadata.example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluesky-social/cookbook/HEAD/vanillajs-oauth-web-app/oauth-client-metadata.example.json --------------------------------------------------------------------------------