devise-automaticlogout 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +100 -19
- data/lib/devise/automaticlogout/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c65ca7bde577d272a4d8ed64fe207d9e1fe383bc3a650d6692b2241a041c9617
|
4
|
+
data.tar.gz: 1f9de9666f2c64ef38406951191b1a462e089f92d66a59370c4ec2cc92ae48df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f1aef7607fe60b6decb7d79b51ce226bfaf5b750d340cdf5ddde2abe05c280866c42ce4e629212302ae144fa4dcc3d5a1ab93c628ea9f69751e7eb36ca6dbe7
|
7
|
+
data.tar.gz: 59314f10e3fc2264a0c6688cba8e58319a0e283c076e7c112a96a357affd253954dae99c2e42dcfef8c80da1dd4be71380f00f0bce87ebf9d3f741a673eddd91
|
data/README.md
CHANGED
@@ -1,47 +1,128 @@
|
|
1
1
|
# Devise Automatic Logout
|
2
|
+
|
2
3
|
By Thadeu Esteves Jr.
|
3
4
|
|
4
|
-
|
5
|
+
Provê um logout automático da sessão numa aplicação Rails utilizando Devise. É simples e fácil.
|
6
|
+
Faz com que a sessão seja destruída após a conclusão do tempo estipulado. É de grande ajuda em sistemas que necessitam de sessão auto destrutiva, evitando de o usuário ficar logado por muito tempo de forma ociosa.
|
7
|
+
|
8
|
+
## O que isso faz?
|
9
|
+
|
10
|
+
* Força o usuário a sair da sessão (logout)
|
11
|
+
* Opção de mostrar um timer regressivo
|
12
|
+
* Opção de dar um alerta na tela ao ser deslogado
|
13
|
+
|
14
|
+
## Começando
|
15
|
+
|
16
|
+
Adicione ao seu Gemfile
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
gem 'devise-automaticlogout', '~> 1.0'
|
20
|
+
```
|
21
|
+
|
22
|
+
Rode o `bundle install`
|
23
|
+
|
24
|
+
## Configure o controller
|
25
|
+
|
26
|
+
No controller que você deseja aplicar o timer para o devise, use:
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
devise_automatic_logout
|
30
|
+
```
|
31
|
+
|
32
|
+
Por exemplo, para o comum ApplicationController, poderia ser
|
33
|
+
|
34
|
+
```ruby
|
35
|
+
class ApplicationController < ActionController::Base
|
36
|
+
devise_automatic_logout
|
37
|
+
end
|
38
|
+
```
|
39
|
+
|
40
|
+
Isso por si só, já prepara a aplicação para ler os dados do `Devise#timeout_in`, utilizando o scope padrão `user` e uma mensagem padrão de alerta.
|
41
|
+
|
42
|
+
Mas se você quiser, configurar um tempo diferente do timeout_in do devise? Fácil, use o seguinte:
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
devise_automatic_logout time: 1.hour.to_i
|
46
|
+
```
|
47
|
+
|
48
|
+
Isso vai aplicar 1 hora para o logout automático.
|
49
|
+
|
50
|
+
Mas e se você quiser colocar outra mensagem? Fácil, use o seguinte:
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
devise_automatic_logout time: 1.hour.to_i, message: 'SUA MENSAGEM'
|
54
|
+
```
|
5
55
|
|
6
|
-
|
7
|
-
* show for they the regressive time
|
56
|
+
Mas e se você quiser fazer, com que seja utilizado outro tipo de mapping do devise? Fácil, use o seguinte:
|
8
57
|
|
9
|
-
|
58
|
+
```ruby
|
59
|
+
devise_automatic_logout scope: 'member'
|
60
|
+
```
|
10
61
|
|
11
|
-
|
62
|
+
É possível também utilizar todos de uma vez só, por exemplo
|
12
63
|
|
13
64
|
```ruby
|
14
|
-
|
65
|
+
devise_automatic_logout time: 15.minutes.to_i, message: 'Sua sessão expirou! Faça login novamente.', scope: 'member'
|
15
66
|
```
|
16
67
|
|
17
|
-
|
68
|
+
__OBS: Quando o `time` não é passado, o timeout_in do devise será aplicado, se configurado, é claro!__
|
18
69
|
|
19
|
-
##
|
70
|
+
## Configurando Timeoutable
|
20
71
|
|
21
|
-
|
72
|
+
Veja na documentação do próprio devise como fazer isso.
|
22
73
|
|
23
|
-
|
74
|
+
[Configurar o tempo](https://github.com/plataformatec/devise#configuring-models)
|
24
75
|
|
25
|
-
[
|
76
|
+
[Mais informações sobre Timeoutable](http://www.rubydoc.info/github/plataformatec/devise/master/Devise/Models/Timeoutable)
|
26
77
|
|
27
|
-
|
78
|
+
## Configurando o timer regressivo (OBRIGATÓRIO)
|
28
79
|
|
29
|
-
|
30
|
-
|
80
|
+
Esse helper deve ser usado em qualquer view, ele é importante, pois tudo será baseado nele
|
81
|
+
|
82
|
+
```ruby
|
83
|
+
<%= regressive_timer visible: true, alert: true %>
|
84
|
+
```
|
85
|
+
|
86
|
+
* visible: mostra um timer regressivo
|
87
|
+
* alert: lança um `window.alert` se ativado, ao final do timer
|
88
|
+
|
89
|
+
## Configurando Javascript
|
90
|
+
|
91
|
+
Adicione no seu application.js, o seguinte:
|
31
92
|
|
32
93
|
```javascript
|
33
94
|
//= require automatic_logout
|
34
95
|
```
|
35
|
-
### Configure View (OPTIONAL)
|
36
96
|
|
37
|
-
|
97
|
+
Se você usa vanilla js, adicionar também o seguinte:
|
38
98
|
|
39
|
-
```
|
40
|
-
|
99
|
+
```javascript
|
100
|
+
//= require automatic_logout/classic
|
101
|
+
```
|
102
|
+
|
103
|
+
Se você usa jQuery, use:
|
104
|
+
|
105
|
+
```javascript
|
106
|
+
//= require automatic_logout/jquery
|
107
|
+
```
|
108
|
+
|
109
|
+
Se você usa Turbolinks mais atual, use:
|
110
|
+
|
111
|
+
```javascript
|
112
|
+
//= require automatic_logout/turbolinks
|
41
113
|
```
|
42
114
|
|
43
|
-
|
115
|
+
Se você usa Turbolinks mais antigo, use:
|
44
116
|
|
117
|
+
```javascript
|
118
|
+
//= require automatic_logout/turbolinks-classic
|
119
|
+
```
|
120
|
+
|
121
|
+
Se preferir, use manualmente em algum momento desejado
|
122
|
+
|
123
|
+
```javascript
|
124
|
+
AutomaticLogout.load();
|
125
|
+
```
|
45
126
|
|
46
127
|
## Contributing
|
47
128
|
|