├── README.md ├── __TODO__.txt ├── dist.ini ├── lib ├── SAuth.pm └── SAuth │ ├── Consumer.pm │ ├── Consumer │ └── RequestWrapper.pm │ ├── Core │ ├── AccessGrant.pm │ ├── AccessRefresh.pm │ ├── AccessRequest.pm │ ├── Error.pm │ ├── Error │ │ ├── AccessGrantNotFound.pm │ │ ├── CannotRefresh.pm │ │ ├── HMACVerificationFail.pm │ │ ├── InvalidAccessGrant.pm │ │ ├── InvalidKey.pm │ │ └── KeyNotFound.pm │ ├── Key.pm │ └── Role │ │ ├── WithMongoDBCollection.pm │ │ └── WithSQLiteHandle.pm │ ├── Provider.pm │ ├── Provider │ ├── KeyStore.pm │ ├── KeyStore │ │ ├── Hash.pm │ │ ├── MongoDB.pm │ │ └── SQLite.pm │ ├── TokenStore.pm │ └── TokenStore │ │ ├── Hash.pm │ │ ├── MongoDB.pm │ │ └── SQLite.pm │ ├── Util.pm │ └── Web │ ├── Consumer.pm │ ├── Consumer │ └── Client.pm │ ├── Provider.pm │ └── Provider │ ├── AuthMiddleware.pm │ └── AuthMiddleware │ └── FromQueryString.pm ├── t ├── 000-load.t ├── 001-basic-provider.t ├── 002-basic-provider-errors.t ├── 003-basic-provider-mongo-store.t ├── 010-basic-access-cycle.t ├── 011-basic-provider-errors.t ├── 012-basic-consumer-errors.t ├── 013-basic-authenticate-errors.t ├── 015-basic-access-refresh-cycle.t ├── 016-basic-access-refresh-cycle-errors.t ├── 017-basic-access-refresh-cycle-bug.t ├── 020-basic-provider-web.t ├── 021-basic-provider-web-errors.t ├── 025-basic-provider-web-refresh.t ├── 026-basic-provider-query-string-auth.t ├── 030-basic-consumer-web-client.t ├── 031-basic-consumer-web-client-errors.t ├── 040-basic-consumer-web.t ├── 041-basic-consumer-web-errors.t ├── 042-basic-consumer-web-automated.t ├── 045-complex-consumer-web.t └── data │ └── .gitignore └── weaver.ini /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/README.md -------------------------------------------------------------------------------- /__TODO__.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/__TODO__.txt -------------------------------------------------------------------------------- /dist.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/dist.ini -------------------------------------------------------------------------------- /lib/SAuth.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth.pm -------------------------------------------------------------------------------- /lib/SAuth/Consumer.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Consumer.pm -------------------------------------------------------------------------------- /lib/SAuth/Consumer/RequestWrapper.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Consumer/RequestWrapper.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/AccessGrant.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/AccessGrant.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/AccessRefresh.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/AccessRefresh.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/AccessRequest.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/AccessRequest.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/Error.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/Error.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/Error/AccessGrantNotFound.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/Error/AccessGrantNotFound.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/Error/CannotRefresh.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/Error/CannotRefresh.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/Error/HMACVerificationFail.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/Error/HMACVerificationFail.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/Error/InvalidAccessGrant.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/Error/InvalidAccessGrant.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/Error/InvalidKey.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/Error/InvalidKey.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/Error/KeyNotFound.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/Error/KeyNotFound.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/Key.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/Key.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/Role/WithMongoDBCollection.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/Role/WithMongoDBCollection.pm -------------------------------------------------------------------------------- /lib/SAuth/Core/Role/WithSQLiteHandle.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Core/Role/WithSQLiteHandle.pm -------------------------------------------------------------------------------- /lib/SAuth/Provider.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Provider.pm -------------------------------------------------------------------------------- /lib/SAuth/Provider/KeyStore.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Provider/KeyStore.pm -------------------------------------------------------------------------------- /lib/SAuth/Provider/KeyStore/Hash.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Provider/KeyStore/Hash.pm -------------------------------------------------------------------------------- /lib/SAuth/Provider/KeyStore/MongoDB.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Provider/KeyStore/MongoDB.pm -------------------------------------------------------------------------------- /lib/SAuth/Provider/KeyStore/SQLite.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Provider/KeyStore/SQLite.pm -------------------------------------------------------------------------------- /lib/SAuth/Provider/TokenStore.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Provider/TokenStore.pm -------------------------------------------------------------------------------- /lib/SAuth/Provider/TokenStore/Hash.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Provider/TokenStore/Hash.pm -------------------------------------------------------------------------------- /lib/SAuth/Provider/TokenStore/MongoDB.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Provider/TokenStore/MongoDB.pm -------------------------------------------------------------------------------- /lib/SAuth/Provider/TokenStore/SQLite.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Provider/TokenStore/SQLite.pm -------------------------------------------------------------------------------- /lib/SAuth/Util.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Util.pm -------------------------------------------------------------------------------- /lib/SAuth/Web/Consumer.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Web/Consumer.pm -------------------------------------------------------------------------------- /lib/SAuth/Web/Consumer/Client.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Web/Consumer/Client.pm -------------------------------------------------------------------------------- /lib/SAuth/Web/Provider.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Web/Provider.pm -------------------------------------------------------------------------------- /lib/SAuth/Web/Provider/AuthMiddleware.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Web/Provider/AuthMiddleware.pm -------------------------------------------------------------------------------- /lib/SAuth/Web/Provider/AuthMiddleware/FromQueryString.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/lib/SAuth/Web/Provider/AuthMiddleware/FromQueryString.pm -------------------------------------------------------------------------------- /t/000-load.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/000-load.t -------------------------------------------------------------------------------- /t/001-basic-provider.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/001-basic-provider.t -------------------------------------------------------------------------------- /t/002-basic-provider-errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/002-basic-provider-errors.t -------------------------------------------------------------------------------- /t/003-basic-provider-mongo-store.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/003-basic-provider-mongo-store.t -------------------------------------------------------------------------------- /t/010-basic-access-cycle.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/010-basic-access-cycle.t -------------------------------------------------------------------------------- /t/011-basic-provider-errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/011-basic-provider-errors.t -------------------------------------------------------------------------------- /t/012-basic-consumer-errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/012-basic-consumer-errors.t -------------------------------------------------------------------------------- /t/013-basic-authenticate-errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/013-basic-authenticate-errors.t -------------------------------------------------------------------------------- /t/015-basic-access-refresh-cycle.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/015-basic-access-refresh-cycle.t -------------------------------------------------------------------------------- /t/016-basic-access-refresh-cycle-errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/016-basic-access-refresh-cycle-errors.t -------------------------------------------------------------------------------- /t/017-basic-access-refresh-cycle-bug.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/017-basic-access-refresh-cycle-bug.t -------------------------------------------------------------------------------- /t/020-basic-provider-web.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/020-basic-provider-web.t -------------------------------------------------------------------------------- /t/021-basic-provider-web-errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/021-basic-provider-web-errors.t -------------------------------------------------------------------------------- /t/025-basic-provider-web-refresh.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/025-basic-provider-web-refresh.t -------------------------------------------------------------------------------- /t/026-basic-provider-query-string-auth.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/026-basic-provider-query-string-auth.t -------------------------------------------------------------------------------- /t/030-basic-consumer-web-client.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/030-basic-consumer-web-client.t -------------------------------------------------------------------------------- /t/031-basic-consumer-web-client-errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/031-basic-consumer-web-client-errors.t -------------------------------------------------------------------------------- /t/040-basic-consumer-web.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/040-basic-consumer-web.t -------------------------------------------------------------------------------- /t/041-basic-consumer-web-errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/041-basic-consumer-web-errors.t -------------------------------------------------------------------------------- /t/042-basic-consumer-web-automated.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/042-basic-consumer-web-automated.t -------------------------------------------------------------------------------- /t/045-complex-consumer-web.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/t/045-complex-consumer-web.t -------------------------------------------------------------------------------- /t/data/.gitignore: -------------------------------------------------------------------------------- 1 | *.json 2 | db -------------------------------------------------------------------------------- /weaver.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/SAuth/HEAD/weaver.ini --------------------------------------------------------------------------------