PHPackages                             leoniralves/slim-oauth2-eloquent - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. leoniralves/slim-oauth2-eloquent

ActiveProject[Framework](/categories/framework)

leoniralves/slim-oauth2-eloquent
================================

Este repositório contém código para desenvolvedores que precisam iniciar uma aplicação utilizando os conceitos RESTFul com Slim Framework, porém, não querem passar pala fase de estruturação e configuração de ferramentas como Eloquent ORM, OAuth e Slim-Monolog. Slim-OAuth2-Eloquent já contém todas estas ferramentas configuradas e prontas para uso.

25129[2 issues](https://github.com/leoniralves/Slim-OAuth2-Eloquent/issues)PHP

Since Mar 30Pushed 10y ago3 watchersCompare

[ Source](https://github.com/leoniralves/Slim-OAuth2-Eloquent)[ Packagist](https://packagist.org/packages/leoniralves/slim-oauth2-eloquent)[ RSS](/packages/leoniralves-slim-oauth2-eloquent/feed)WikiDiscussions desenvolvimento Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Slim-OAuth2-Eloquent
====================

[](#slim-oauth2-eloquent)

Este repositório contém código para desenvolvedores que precisam iniciar uma aplicação utilizando os conceitos RESTFul com [Slim Framework](http://www.slimframework.com/), porém, não querem passar pela fase de estruturação e configuração de ferramentas como [Eloquent ORM](http://laravel.com/docs/4.2/eloquent#), [OAuth](http://oauth.net/) e [Slim-Monolog](https://github.com/Flynsarmy/Slim-Monolog). *Slim-OAuth2-Eloquent* já contém todas estas ferramentas configuradas e prontas para uso.

Requerimentos
-------------

[](#requerimentos)

PHP &gt;= 5.4.0

Instalação
----------

[](#instalação)

- Download [`composer.phar`](https://github.com/composer/composer)

```
$ curl -sS https://getcomposer.org/installer | php
```

- Instalar dependências

```
$ composer install
```

- Criar banco de testes [SQLite](http://www.sqlite.org/)

```
$ php share/init/init.php
```

Usar
----

[](#usar)

### Banco de dados

[](#banco-de-dados)

O banco de dados que foi criando, dentro do subdiretório *share/init*, contém um usuário de teste. Este será usando para ilustrar o uso da API.

```
username: usertest
password: test

```

Obs.: O banco de dados possui o nome de oauth2.sqlite3. Este por sua vez, está sem permissão de escrita/leitura e com isso será gerado uma exceção. Para tornar o banco utilizável é preciso executar o comando:

```
$ chmod 777 oauth2.sqlite3
```

### Pasta *public*

[](#pasta-public)

A pasta `public` é onde deve estar todo o fluxo do projeto. Neste local ficarão os códigos que não devem ser atualizados por novas versões do projeto `Slim-OAuth2-Eloquent`. Para não haver problemas é muito importante que o desenvolvedor inclua este diretório no `.gitignore` de seu projeto.

### Solicitar um token para acesso e atualizar token (Refresh token)

[](#solicitar-um-token-para-acesso-e-atualizar-token-refresh-token)

Para obter um token de acesso ou atualizar o existente, a solicitação deve ser feita utilizando o método `POST` e `Content-Type: application/x-www-form-urlencoded`. Os dados necessários são:

##### Solicitação

[](#solicitação)

```
grant_type: password
client_id: testclient
client_secret: secret
username: usertest
password: test

```

```
$ curl -i POST -H "Content-Type: application/x-www-form-urlencoded" -d 'grant_type=password&client_id=testclient&client_secret=secret&username=usertest&password=test' http://localhost/Slim-OAuth2-Eloquent/public/oauth/token
```

##### Atualização

[](#atualização)

```
grant_type: refresh_token
client_id: testclient
client_secret: secret
refresh_token: refresh_token=código retornado no parametro refresh_token

```

```
$ curl -i POST -H "Content-Type: application/x-www-form-urlencoded" -d 'grant_type=refresh_token&client_id=testclient&client_secret=secret&refresh_token=refresh_token=código retornado no parametro refresh_token' http://localhost/Slim-OAuth2-Eloquent/public/oauth/token
```

### Acessar dados com token de acesso obtido na solicitação (Access token)

[](#acessar-dados-com-token-de-acesso-obtido-na-solicitação-access-token)

O acesso aos dados da API acontece dentro dos padrões *RESTful* (`GET`, `POST`, `PUT`, `DELETE`). Ao utilizar qualquer um destes métodos é obrigatório o envio do 'token' obtido na solicitação. O mesmo precisa ser enviado no 'header' da requisição 'http' através do parametro 'Authorization' e este deve ser da seguinte foma:

```
Authorization: Bearer d7TSwi1dXK3F1sN78tTEPDGOmD9c2oWmRFu6hrj6

```

```
$ curl -i GET http://localhost/Slim-OAuth2-Eloquent/public/api/v1/users
```

*OBS.: O hash utilizado como token é **meramente ilustrativo**, devendo ser substituído pelo obtido na solicitação/atualização de token*

Links
-----

[](#links)

- [Slim Framework](http://www.slimframework.com/)
- [Eloquent ORM](http://laravel.com/docs/4.2/eloquent#)
- [OAuth](http://oauth.net/)
- [Slim-Monolog](https://github.com/Flynsarmy/Slim-Monolog)
- [Composer](https://github.com/composer/composer)
- [SQLite](http://www.sqlite.org/)
- [PHP](http://php.net/)
- [oauth2-server](https://github.com/thephpleague/oauth2-server)

Referências utilizadas
----------------------

[](#referências-utilizadas)

- [Best Practices for Designing a Pragmatic RESTful API](http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api)
- [An Introduction to OAuth 2](http://www.slideshare.net/aaronpk/an-introduction-to-oauth-2)
- [RFC3986](http://www.ietf.org/rfc/rfc3986.txt)

Suporte
-------

[](#suporte)

Bugs, features, sugestões ou dúvidas utilizar [GitHub](https://github.com/leoniralves/Slim-OAuth2-Eloquent/issues)

Licença
-------

[](#licença)

Este projeto é licenciado sob os termos da licença MIT. Veja o arquivo de LICENSE.

Autor
-----

[](#autor)

Leonir Alves - [https://twitter.com/leonir\_ad](https://twitter.com/leonir_ad)

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1810709?v=4)[Leonir Deolindo](/maintainers/leoniralves)[@leoniralves](https://github.com/leoniralves)

---

Top Contributors

[![leoniralves](https://avatars.githubusercontent.com/u/1810709?v=4)](https://github.com/leoniralves "leoniralves (28 commits)")

### Embed Badge

![Health badge](/badges/leoniralves-slim-oauth2-eloquent/health.svg)

```
[![Health](https://phpackages.com/badges/leoniralves-slim-oauth2-eloquent/health.svg)](https://phpackages.com/packages/leoniralves-slim-oauth2-eloquent)
```

###  Alternatives

[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k39.6M290](/packages/laravel-dusk)[nineinchnick/edatatables

Grid widget for the Yii Framework, wrapper for the DataTables jQuery plugin

173.2k](/packages/nineinchnick-edatatables)[link-cloud/fast-hyperf

LinkCloud Fast Hyperf

241.2k1](/packages/link-cloud-fast-hyperf)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
