Skip to content
The goal of sealr is to provide multiple authentication and authorization strategies for plumber by using filters.
R
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R
docs
examples #42 update of bookdown Jun 14, 2019
man
tests
.Rbuildignore
.gitignore
.travis.yml
DESCRIPTION
LICENSE
NAMESPACE #16 rename files and google functions to OIDC Apr 20, 2019
README.Rmd
README.md
sealr.Rproj

README.md

sealr

Build Status codecov

The goal of sealr is to provide multiple authentication and authorization strategies for plumber by using filters. In doing so, we hope to make best practices in authentication easy to implement for the R community. The package is inspired by the amazing passport.js library for Node.js. The sealr website can be found at https://jandix.github.io/sealr/.

Disclaimer

⚠️ We are currently looking for security experts to help us develop this project / review our code. That being said, while we try to thouroughly understand the concepts behind a strategy before we implement it in sealr, we are not experts in security. Please make sure you understand the risks and possible attack vectors when using sealr - especially in production environments. ⚠️

Installation

Currently, the package is under development. Please feel free to contribute to the package. You can install and use the package using devtools.

devtools::install_github("jandix/sealr")

Documentation and Examples

We provide more information and some simple sample implementations for different strategies and use cases on the project website: https://jandix.github.io/sealr/ (click on the headers in the navigation bar on the left to unfold the subsites / example sites). The site is a work in progress and we add content continuously.

Contribute

We are still at the very beginning of the package and we welcome any support and contribution. Below you find a list with possible authentication strategies that you could implement. The list is not complete and can be expanded with your suggestions.

Possible Strategies

  • Bearer Token
  • Sessions
  • Twitter OAuth
  • Facebook OAuth
  • Google OAuth

Testing

You can use curl for testing purposes. Unfortunately, curl quickly gets quite complicated if you want to add a body, parameters and unique headers. Therefore, we recommend to use Postman for larger, more complicated projects.

Warranity Notice

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

You can’t perform that action at this time.