Swiftpack.co - Package - vapor-community/Imperial


Imperial is a Federated Login service, allowing you to easily integrate your Vapor applications with OAuth providers to handle your apps authentication.


Author(s): @calebkleveter


All code contained in the Imperial package is under the MIT license agreement.


Stars: 42
Help us keep the lights on



0.7.1 - Aug 18, 2018


Updated JWT package version to 3.0! Something else might have been fixed also 🤔. Not sure.

0.7.0 - Jun 6, 2018

Server-to-Server with Google

You can now do Server-to-Server auth with Google. No guide yet. You can roughly follow the other Google auth guide to get an idea of what you are supposed to do.

You can now get a token without hitting a route using:

FederatedServiceRouter(callback: "") { req, _ in req.makeResponse() }.fetchToken(from: request)

0.6.0 - Apr 2, 2018


Take the red pill. It's worth it.

0.5.3 - Mar 19, 2018

Vapor 3

Imperial and its documentation has been updated for Vapor 3 RC. Have fun!

0.4.0 - Jan 20, 2018

Vapor 3

Now ported to Vapor 3! Use version 0.3.0 if you are on Vapor 2.

You can now conform to FederatedCreatable so you can create an instance of a model from a service and store it in a session:

let user = request.create(User.self, from: .github)
let user = request.fetch(User.self)

(This is how it is supposed to work. Haven't tested it yet 😉.)