{"repo":"brokenhandsio/vapor-oauth","free":true,"listed":false,"github":"https://github.com/brokenhandsio/vapor-oauth","clone":"git clone https://github.com/brokenhandsio/vapor-oauth.git","description":"OAuth2 Provider Library for Vapor","language":"Swift","stars":154,"topics":["vapor","vapor-oauth","brokenhands","vapor-provider","swift","server-side-swift","oauth","oauth2","oauth2-server"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Vapor OAuth is an OAuth2 Provider Library written for Vapor. You can integrate the library into your server to provide authorization for applications to connect to your APIs. It follows both RFC 6749 and RFC6750 and there is an extensive test suite to make sure it adheres to the specification. It also implements the RFC 7662 specification for Token Introspection, which is useful for microservices with a shared, central authorization server. Vapor OAuth supports the standard grant types: Authorization Code Client Credentials Implicit Grant Password Credentials For an excellent description on how the standard OAuth flows work, and what to expect when using and implementing them, have a look at https://www.oauth.com. Usage Getting Started Vapor OAuth can be added to your Vapor add with a simple provider. To get started, first add the library to your Package.swift dependencies: Next import the library into where you set up your Droplet : Then add the provider to your Config : To integrate the library, you need to set up a number of things, which implement the various protocols required: CodeManager - this is responsible for generating and managing OAuth Codes. It is only required for the Authorization Code flow, so if you do not want to support this grant, you can leave out this parameter and use the default implementation TokenManager - this is responsible for generating and managing Access and Refresh Tokens. You can either store these in memory, in Fluent, or with any backend.","default_branch":null,"files":null,"tree":[],"storefront":"/r/brokenhandsio","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/brokenhandsio/vapor-oauth/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}