Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jandix/sealr

The goal of sealr is to provide multiple authentication and authorization strategies for plumber by using filters.
https://github.com/jandix/sealr

Last synced: about 2 months ago
JSON representation

The goal of sealr is to provide multiple authentication and authorization strategies for plumber by using filters.

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```

# sealr

[![Build Status](https://travis-ci.org/jandix/sealr.svg?branch=master)](https://travis-ci.org/jandix/sealr)
[![codecov](https://codecov.io/gh/jandix/sealr/branch/master/graph/badge.svg)](https://codecov.io/gh/jandix/sealr)

The goal of sealr is to provide multiple authentication and authorization strategies for [plumber](https://www.rplumber.io/) by using [filters](https://www.rplumber.io/docs/routing-and-input.html#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](http://www.passportjs.org/) library for Node.js.
The *sealr* website can be found at [https://jandix.github.io/sealr/](https://jandix.github.io/sealr/).

## Disclaimer

`r emo::ji("warning")` 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. `r emo::ji("warning")`

## Installation

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

```{r installation, eval=FALSE}
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/](https://jandix.github.io/sealr/docs/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](https://www.getpostman.com/) 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.