stormpath-rails 2.2.0 → 2.3.0
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/.gitignore +1 -1
- data/.gitmodules +3 -0
- data/.travis.yml +1 -1
- data/CHANGELOG.md +11 -0
- data/README.md +1 -1
- data/app/controllers/stormpath/rails/register/create_controller.rb +1 -1
- data/docs/Makefile +225 -0
- data/docs/_static/facebook-new-project.png +0 -0
- data/docs/_static/facebook-url-settings.png +0 -0
- data/docs/_static/forgot-change.png +0 -0
- data/docs/_static/forgot-complete.png +0 -0
- data/docs/_static/forgot-email-sent.png +0 -0
- data/docs/_static/forgot-email.png +0 -0
- data/docs/_static/forgot-init.png +0 -0
- data/docs/_static/forgot.png +0 -0
- data/docs/_static/github_create_app.png +0 -0
- data/docs/_static/google-enable-login.png +0 -0
- data/docs/_static/google-new-project.png +0 -0
- data/docs/_static/google-oauth-settings.png +0 -0
- data/docs/_static/id-site-login.png +0 -0
- data/docs/_static/id-site-settings.png +0 -0
- data/docs/_static/id-site-stormpath-config.png +0 -0
- data/docs/_static/linkedin-add-authorized-urls.gif +0 -0
- data/docs/_static/linkedin-add-permissions.gif +0 -0
- data/docs/_static/linkedin-new-application.gif +0 -0
- data/docs/_static/linkedin-permissions-page.png +0 -0
- data/docs/_static/login-page-basic.png +0 -0
- data/docs/_static/login-page-facebook-permissions.png +0 -0
- data/docs/_static/login-page-facebook.png +0 -0
- data/docs/_static/login-page-google-account.png +0 -0
- data/docs/_static/login-page-google.png +0 -0
- data/docs/_static/login-page-linkedin.png +0 -0
- data/docs/_static/login-page.png +0 -0
- data/docs/_static/login_page_with_all_providers.png +0 -0
- data/docs/_static/registration-page-basic.png +0 -0
- data/docs/_static/registration-page-error.png +0 -0
- data/docs/_static/registration-page.png +0 -0
- data/docs/_static/verification-complete.png +0 -0
- data/docs/_static/verification-email.png +0 -0
- data/docs/_static/verification.png +0 -0
- data/docs/_templates/layout.html +6 -0
- data/docs/about.rst +72 -0
- data/docs/authentication.rst +332 -0
- data/docs/changelog.rst +41 -0
- data/docs/conf.py +346 -0
- data/docs/configuration.rst +151 -0
- data/docs/contributors.rst +56 -0
- data/docs/devise_import.rst +112 -0
- data/docs/help.rst +24 -0
- data/docs/index.rst +31 -0
- data/docs/login.rst +242 -0
- data/docs/logout.rst +73 -0
- data/docs/password_reset.rst +85 -0
- data/docs/quickstart.rst +179 -0
- data/docs/registration.rst +364 -0
- data/docs/social_login.rst +409 -0
- data/docs/templates.rst +100 -0
- data/docs/user_data.rst +216 -0
- data/lib/stormpath/rails/version.rb +1 -1
- data/stormpath-rails.gemspec +1 -1
- metadata +57 -4
@@ -0,0 +1,409 @@
|
|
1
|
+
.. _social_login:
|
2
|
+
|
3
|
+
|
4
|
+
Social Login
|
5
|
+
============
|
6
|
+
|
7
|
+
Do you want users to authenticate with a social provider, such as Facebook?
|
8
|
+
Stormpath provides integration with the following services:
|
9
|
+
|
10
|
+
* Facebook
|
11
|
+
* Google
|
12
|
+
* Linkedin
|
13
|
+
* Github
|
14
|
+
|
15
|
+
In this guide we cover all of them step by step.
|
16
|
+
|
17
|
+
|
18
|
+
Facebook Login
|
19
|
+
--------------
|
20
|
+
|
21
|
+
To use Facebook Login you must create a Facebook Application, this is done
|
22
|
+
through their Developer site.
|
23
|
+
|
24
|
+
|
25
|
+
Create a Facebook App
|
26
|
+
.....................
|
27
|
+
|
28
|
+
The first thing you need to do is log into the `Facebook Developer Site`_ and
|
29
|
+
create a new Facebook App.
|
30
|
+
|
31
|
+
You can do this by visiting the `Facebook Developer Site`_ and clicking the "Apps"
|
32
|
+
menu at the top of the screen, then select the "Create a New App" button. You
|
33
|
+
should see something like the following:
|
34
|
+
|
35
|
+
.. image:: /_static/facebook-new-project.png
|
36
|
+
|
37
|
+
Go ahead and pick a "Display Name" (usually the name of your app), and choose a
|
38
|
+
category for your app. Once you've done this, click the "Create App" button.
|
39
|
+
|
40
|
+
|
41
|
+
Specify Allowed URLs
|
42
|
+
....................
|
43
|
+
|
44
|
+
The next thing we need to do is tell Facebook what URLs we'll be using Facebook
|
45
|
+
Login from.
|
46
|
+
|
47
|
+
From the app dashboard page you're on, click the "Settings" tab in the left
|
48
|
+
menu, then click the "Add Platform" button near the bottom of the page. When
|
49
|
+
prompted, select "Website" as your platform type.
|
50
|
+
|
51
|
+
In the "Site URL" box, enter your private and public root URLs. This should be
|
52
|
+
something like ``"http://localhost:3000"`` or ``"http://mysite.com"``. *If you
|
53
|
+
want to allow Facebook Login from multiple URLs (local development, production,
|
54
|
+
etc.) you can just click the "Add Platform" button again and enter another URL.*
|
55
|
+
|
56
|
+
Lastly, click the "Save Changes" button to save the changes.
|
57
|
+
|
58
|
+
Your settings should now look something like this:
|
59
|
+
|
60
|
+
.. image:: /_static/facebook-url-settings.png
|
61
|
+
|
62
|
+
|
63
|
+
Create a Facebook Directory
|
64
|
+
...........................
|
65
|
+
|
66
|
+
Next, we need to input the Facebook app credentials into Stormpath Directory.
|
67
|
+
This allows Stormpath to interact with the Facebook API on your behalf, which
|
68
|
+
automates all OAuth flows.
|
69
|
+
|
70
|
+
To do this, you need to visit the `Stormpath Admin Console`_ and create a new
|
71
|
+
directory. When you click the "Create Directory" button you will choose
|
72
|
+
"Facebook" as the provider, and enter the following information about your
|
73
|
+
Facebook application:
|
74
|
+
|
75
|
+
- For the "Name" field, you can insert whatever name you want.
|
76
|
+
- For the "Facebook Client ID" field, insert your Facebook App ID which you got
|
77
|
+
in the previous steps.
|
78
|
+
- For the "Facebook Client Secret" field, insert your Facebook Client Secret
|
79
|
+
which you got in the previous steps.
|
80
|
+
|
81
|
+
Make sure to click "Create" to finish creating your directory.
|
82
|
+
|
83
|
+
Next, you need to hook your new Facebook Directory up to your Stormpath
|
84
|
+
Application. To do this, visit the `Stormpath Admin Console`_, navigate to
|
85
|
+
Applications, and select your application from the list.
|
86
|
+
|
87
|
+
On your application page, click the "Account Stores" tab, then click the "Add
|
88
|
+
Account Store" button. From the drop down list, select your newly created
|
89
|
+
Facebook Directory, then save your changes.
|
90
|
+
|
91
|
+
That's it!
|
92
|
+
|
93
|
+
|
94
|
+
Test it Out
|
95
|
+
...........
|
96
|
+
|
97
|
+
Now that you've plugged your Facebook credentials into stormpath-rails, social
|
98
|
+
login should already be working!
|
99
|
+
|
100
|
+
Open your Rails app in a browser, and try logging in by visiting the login page
|
101
|
+
(``/login``). If you're using the default login page included with this
|
102
|
+
gem, you should see the following:
|
103
|
+
|
104
|
+
.. image:: /_static/login-page-facebook.png
|
105
|
+
|
106
|
+
You now have a fancy new Facebook enabled login button! Try logging in! When
|
107
|
+
you click the new Facebook button you'll be redirected to Facebook, and
|
108
|
+
prompted to accept the permissions requested:
|
109
|
+
|
110
|
+
.. image:: /_static/login-page-facebook-permissions.png
|
111
|
+
|
112
|
+
After accepting permissions, you'll be immediately redirected back to your
|
113
|
+
website at the URL specified by ``redirectUrl`` in your app's config.
|
114
|
+
|
115
|
+
|
116
|
+
Google Login
|
117
|
+
------------
|
118
|
+
|
119
|
+
Integrating Google Login is very similar to Facebook. You must create an application
|
120
|
+
in the Google Developer Console, then create a Directory in Stormpath which holds
|
121
|
+
settings for the Google application that you created.
|
122
|
+
|
123
|
+
|
124
|
+
Create a Google Project
|
125
|
+
.......................
|
126
|
+
|
127
|
+
The first thing you need to do is log into the `Google Developer Console`_ and
|
128
|
+
create a new Google Project.
|
129
|
+
|
130
|
+
You can do this by visiting the `Google Developer Console`_ and clicking the "Create
|
131
|
+
Project" button. You should see something like the following:
|
132
|
+
|
133
|
+
.. image:: /_static/google-new-project.png
|
134
|
+
|
135
|
+
Go ahead and pick a "Project Name" (usually the name of your app), and
|
136
|
+
(*optionally*) a "Project ID".
|
137
|
+
|
138
|
+
|
139
|
+
Enable Google Login
|
140
|
+
...................
|
141
|
+
|
142
|
+
Now that you've got a Google Project -- let's enable Google Login. The way
|
143
|
+
Google Projects work is that you have to selectively enable what functionality
|
144
|
+
each Project needs.
|
145
|
+
|
146
|
+
From your `Google Developer Console`_ click on your new Project, then in the
|
147
|
+
side panel click on the "APIs & auth" menu option.
|
148
|
+
|
149
|
+
Now, scroll through the API list until you see "Google+ API", then click the
|
150
|
+
"OFF" button next to it to enable it. You should now see the "Google+ API" as
|
151
|
+
"ON" in your API list:
|
152
|
+
|
153
|
+
.. image:: /_static/google-enable-login.png
|
154
|
+
|
155
|
+
|
156
|
+
Create OAuth Credentials
|
157
|
+
........................
|
158
|
+
|
159
|
+
The next thing we need to do is create a new OAuth client ID. This is what
|
160
|
+
we'll use to handle user login with Google.
|
161
|
+
|
162
|
+
From your project, click the "APIs & auth" menu, then click on the "Credentials"
|
163
|
+
sub-menu.
|
164
|
+
|
165
|
+
You should see a big red button labeled "Create New Client ID" near the top of
|
166
|
+
the page -- click that.
|
167
|
+
|
168
|
+
You'll want to do several things here:
|
169
|
+
|
170
|
+
1. Select "Web application" for your "Application Type".
|
171
|
+
2. Remove everything from the "Authorized Javascript Origins" box.
|
172
|
+
3. Add the callback URI of your site (both publicly and locally) into the
|
173
|
+
"Authorized Redirect URI" box. This tells Google where to
|
174
|
+
redirect users after they've logged in with Google. The default callback
|
175
|
+
URI for this gem is ``/callbacks/google``.
|
176
|
+
|
177
|
+
In the end, your settings should look like this:
|
178
|
+
|
179
|
+
.. image:: /_static/google-oauth-settings.png
|
180
|
+
|
181
|
+
Once you've specified your settings, go ahead and click the "Create Client ID"
|
182
|
+
button.
|
183
|
+
|
184
|
+
Lastly, you'll want to take note of your "Client ID" and "Client Secret"
|
185
|
+
variables that should now be displayed on-screen. We'll need these in the next
|
186
|
+
step.
|
187
|
+
|
188
|
+
|
189
|
+
Create a Google Directory
|
190
|
+
.........................
|
191
|
+
|
192
|
+
Next, we need to input the Google app credentials into Stormpath. This allows
|
193
|
+
Stormpath to interact with the Google API on your behalf, which automates all
|
194
|
+
OAuth flows.
|
195
|
+
|
196
|
+
To do this, you need to visit the `Stormpath Admin Console`_ and create a new
|
197
|
+
directory from the Directories section. When you click "Create Directory",
|
198
|
+
choose "Google" as the provider, and enter the following information about your
|
199
|
+
Google application:
|
200
|
+
|
201
|
+
- For the "Name" field, you can insert whatever name you want.
|
202
|
+
- For the "Google Client ID" field, insert your Google Client ID which you got
|
203
|
+
in the previous steps.
|
204
|
+
- For the "Google Client Secret" field, insert your Google Client Secret
|
205
|
+
which you got in the previous steps.
|
206
|
+
- For the "Google Authorized Redirect URI" field, insert your Google Redirect
|
207
|
+
URL from the previous section. Be sure to *only enter the URI you're currently
|
208
|
+
using*. EG: If you're running your app in development mode, set it to your
|
209
|
+
local URL, if you're running your app in production mode, set it to your
|
210
|
+
production URL.
|
211
|
+
|
212
|
+
Lastly, be sure to click the "Save" button at the bottom of the page.
|
213
|
+
|
214
|
+
Next, you need to hook your new Google Directory up to your Stormpath
|
215
|
+
Application. To do this, visit the Applications section and select your
|
216
|
+
application from the list.
|
217
|
+
|
218
|
+
On your application page, click the "Account Stores" tab, then click the "Add
|
219
|
+
Account Store" button. From the drop down list, select your newly created
|
220
|
+
Google Directory, then save your changes.
|
221
|
+
|
222
|
+
|
223
|
+
Test it Out
|
224
|
+
...........
|
225
|
+
|
226
|
+
Now that you've plugged your Google credentials into stormpath-rails, social
|
227
|
+
login should already be working!
|
228
|
+
|
229
|
+
Open your Rails app in a browser, and try logging in by visiting the login page
|
230
|
+
(``/login``). If you're using the default login page included with this
|
231
|
+
gem, you should see the following:
|
232
|
+
|
233
|
+
.. image:: /_static/login-page-google.png
|
234
|
+
|
235
|
+
You now have a fancy new Google enabled login button! Try logging in! When you
|
236
|
+
click the new Google button you'll be redirected to Google, and prompted to
|
237
|
+
select your Google account:
|
238
|
+
|
239
|
+
.. image:: /_static/login-page-google-account.png
|
240
|
+
|
241
|
+
After selecting your account you'll then be prompted to accept any permissions,
|
242
|
+
then immediately redirected back to your website at the URL specified by
|
243
|
+
``redirectUrl`` in your app's settings.
|
244
|
+
|
245
|
+
|
246
|
+
LinkedIn Login
|
247
|
+
--------------
|
248
|
+
|
249
|
+
Integrating LinkedIn Login is very similar to Google. You must create an application
|
250
|
+
in the LinkedIn Console, then create a Directory in Stormpath which holds
|
251
|
+
settings for the LinkedIn application that you created.
|
252
|
+
|
253
|
+
|
254
|
+
Create a LinkedIn Application
|
255
|
+
.............................
|
256
|
+
|
257
|
+
The first thing you need to do is log into the `LinkedIn Developer Console`_ and
|
258
|
+
create a new LinkedIn Application.
|
259
|
+
|
260
|
+
You can do this by visiting the `LinkedIn Developer Console`_ and clicking the "Create
|
261
|
+
Application" button. You should see something like the following:
|
262
|
+
|
263
|
+
.. image:: /_static/linkedin-new-application.gif
|
264
|
+
|
265
|
+
Continue by filling out all the required fields.
|
266
|
+
|
267
|
+
|
268
|
+
Enable LinkedIn Permissions
|
269
|
+
...........................
|
270
|
+
|
271
|
+
Now that you've got a LinkedIn Application -- let's enable LinkedIn permissions. The way
|
272
|
+
LinkedIn Applications work is that you have to selectively enable what permissions
|
273
|
+
each Application requires.
|
274
|
+
|
275
|
+
Under the "Default Application Permissions" section, be sure to enable the "r_basicprofile"
|
276
|
+
and the "r_emailaddress" permissions. These permissions allow Stormpath to access the basic
|
277
|
+
profile properties (first, middle, and last name) and email (*these permissions are required*).
|
278
|
+
|
279
|
+
.. image:: /_static/linkedin-add-permissions.gif
|
280
|
+
|
281
|
+
The next thing we need to do is add in all of the allowed Redirect URLs for our application. Well do this by
|
282
|
+
entering all of our absolute redirect URLs under the "OAuth 2.0" section. For instance, if I was running
|
283
|
+
my site locally on port 3000, as well as under the "www.example.com" domain, I'd add two redirect URIs:
|
284
|
+
|
285
|
+
- http://localhost:3000/callbacks/linkedin
|
286
|
+
- https://www.example.com/callbacks/linkedin
|
287
|
+
|
288
|
+
.. image:: /_static/linkedin-add-authorized-urls.gif
|
289
|
+
|
290
|
+
|
291
|
+
Create a LinkedIn Directory
|
292
|
+
...........................
|
293
|
+
|
294
|
+
Next, we need to input the LinkedIn Application credentials into Stormpath. This allows
|
295
|
+
Stormpath to interact with the LinkedIn API on your behalf, which automates all
|
296
|
+
OAuth flows.
|
297
|
+
|
298
|
+
To do this, you need to visit the `Stormpath Admin Console`_ and create a new
|
299
|
+
directory from the Directories section. When you click "Create Directory",
|
300
|
+
choose "LinkedIn" as the provider, and enter the following information about your
|
301
|
+
LinkedIn Application:
|
302
|
+
|
303
|
+
- For the "Name" field, you can insert whatever name you want.
|
304
|
+
- For the "LinkedIn Client ID" field, insert your LinkedIn Client ID which you got
|
305
|
+
in the previous steps.
|
306
|
+
- For the "LinkedIn Client Secret" field, insert your LinkedIn Client Secret
|
307
|
+
which you got in the previous steps.
|
308
|
+
|
309
|
+
Lastly, be sure to click the "Save" button at the bottom of the page.
|
310
|
+
|
311
|
+
Next, you need to hook your new LinkedIn Directory up to your Stormpath
|
312
|
+
Application. To do this, visit the Applications section and select your
|
313
|
+
application from the list.
|
314
|
+
|
315
|
+
On your application page, click the "Account Stores" tab, then click the "Add
|
316
|
+
Account Store" button. From the drop down list, select your newly created
|
317
|
+
LinkedIn Directory, then save your changes.
|
318
|
+
|
319
|
+
|
320
|
+
Test it Out
|
321
|
+
...........
|
322
|
+
|
323
|
+
Now that you've plugged your LinkedIn credentials into rails-stormpath, social
|
324
|
+
login should already be working!
|
325
|
+
|
326
|
+
Open your Rails app in a browser, and try logging in by visiting the login page
|
327
|
+
(``/login``). If you're using the default login page included with this
|
328
|
+
gem, you should see the following:
|
329
|
+
|
330
|
+
.. image:: /_static/login-page-linkedin.png
|
331
|
+
|
332
|
+
You now have a fancy new LinkedIn enabled login button! Try logging in! When you
|
333
|
+
click the new LinkedIn button you'll be redirected to LinkedIn, and prompted to
|
334
|
+
select your LinkedIn account:
|
335
|
+
|
336
|
+
.. image:: /_static/linkedin-permissions-page.png
|
337
|
+
|
338
|
+
After selecting your account you'll then be prompted to accept any permissions,
|
339
|
+
then immediately redirected back to your website at the URL specified by
|
340
|
+
``redirectUrl`` in your app's settings.
|
341
|
+
|
342
|
+
Github Login
|
343
|
+
--------------
|
344
|
+
|
345
|
+
To use Github Login you must create a Github Application, this is done
|
346
|
+
through their Developer site.
|
347
|
+
|
348
|
+
|
349
|
+
Create a Github App
|
350
|
+
.....................
|
351
|
+
|
352
|
+
The first thing you need to do is log into the `Github Developer Site`_ and
|
353
|
+
create a new Github App.
|
354
|
+
|
355
|
+
You can do this by visiting the `Github Developer Site`_ and clicking the "Register a new application"
|
356
|
+
menu at the top of the screen. You should see something like the following:
|
357
|
+
|
358
|
+
.. image:: /_static/github_create_app.png
|
359
|
+
|
360
|
+
After filling out the form fields click on "Register application"
|
361
|
+
|
362
|
+
|
363
|
+
Create a Github Directory
|
364
|
+
...........................
|
365
|
+
|
366
|
+
Next, we need to input the Github app credentials into Stormpath Directory.
|
367
|
+
This allows Stormpath to interact with the Github API on your behalf, which
|
368
|
+
automates all OAuth flows.
|
369
|
+
|
370
|
+
To do this, you need to visit the `Stormpath Admin Console`_ and create a new
|
371
|
+
directory. When you click the "Create Directory" button you will choose
|
372
|
+
"Github" as the provider, and enter the following information about your
|
373
|
+
Github application:
|
374
|
+
|
375
|
+
- For the "Name" field, you can insert whatever name you want.
|
376
|
+
- For the "Github Client ID" field, insert your Github App ID which you got
|
377
|
+
in the previous steps.
|
378
|
+
- For the "Github Client Secret" field, insert your Github Client Secret
|
379
|
+
which you got in the previous steps.
|
380
|
+
|
381
|
+
Make sure to click "Create" to finish creating your directory.
|
382
|
+
|
383
|
+
Next, you need to hook your new Github Directory up to your Stormpath
|
384
|
+
Application. To do this, visit the `Stormpath Admin Console`_, navigate to
|
385
|
+
Applications, and select your application from the list.
|
386
|
+
|
387
|
+
On your application page, click the "Account Stores" tab, then click the "Add
|
388
|
+
Account Store" button. From the drop down list, select your newly created
|
389
|
+
Github Directory, then save your changes.
|
390
|
+
|
391
|
+
|
392
|
+
Test it Out
|
393
|
+
...........
|
394
|
+
|
395
|
+
Now that you've plugged your Github credentials into rails-stormpath, social
|
396
|
+
login should already be working!
|
397
|
+
|
398
|
+
Open your Rails app in a browser, and try logging in by visiting the login page
|
399
|
+
(``/login``). If you're using the default login page included with this
|
400
|
+
gem and if all social login providers are set, your login page should look like the following:
|
401
|
+
|
402
|
+
.. image:: /_static/login_page_with_all_providers.png
|
403
|
+
|
404
|
+
|
405
|
+
.. _Stormpath Admin Console: https://api.stormpath.com
|
406
|
+
.. _Facebook Developer Site: https://developers.facebook.com/
|
407
|
+
.. _Google Developer Console: https://console.developers.google.com/project
|
408
|
+
.. _LinkedIn Developer Console: https://www.linkedin.com/developer/apps
|
409
|
+
.. _Github Developer Site: https://github.com/settings/developers
|
data/docs/templates.rst
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
.. _templates:
|
2
|
+
|
3
|
+
|
4
|
+
Templates
|
5
|
+
=========
|
6
|
+
|
7
|
+
|
8
|
+
Default Views
|
9
|
+
-------------
|
10
|
+
|
11
|
+
By default this gem will use it's own templates for rendering its views.
|
12
|
+
The views that this gem serves by default (if the features are enabled) are:
|
13
|
+
|
14
|
+
* Login Page
|
15
|
+
* Registration Page
|
16
|
+
* Forgot Password Page
|
17
|
+
* Change Password Page
|
18
|
+
* Email Verification Page
|
19
|
+
|
20
|
+
If you want to customize these pages, there are two strategies. You can install
|
21
|
+
our default templates and modify them
|
22
|
+
|
23
|
+
.. code-block:: ruby
|
24
|
+
|
25
|
+
rails generate stormpath:views
|
26
|
+
|
27
|
+
or you can supply your own.
|
28
|
+
|
29
|
+
|
30
|
+
Custom Views
|
31
|
+
------------
|
32
|
+
|
33
|
+
If you want to supply your own view for a given feature, you need to let us
|
34
|
+
know where it is. You do this by telling us the specific path to the file.
|
35
|
+
For example, if you had a folder named ``views`` in the root of your project,
|
36
|
+
you would declare it like this:
|
37
|
+
|
38
|
+
.. code-block:: yaml
|
39
|
+
|
40
|
+
web:
|
41
|
+
register:
|
42
|
+
view: 'sessions/new.html.erb' // My custom login view
|
43
|
+
|
44
|
+
|
45
|
+
View Variables
|
46
|
+
--------------
|
47
|
+
|
48
|
+
Our gem will provide these view variables to all templates that are
|
49
|
+
rendered:
|
50
|
+
|
51
|
+
+-----------------+-------------------------------------------------------------------+
|
52
|
+
| **Variable** | **Description** |
|
53
|
+
+-----------------+-------------------------------------------------------------------+
|
54
|
+
| current_account | The account object of the logged in user (undefined otherwise) |
|
55
|
+
+-----------------+-------------------------------------------------------------------+
|
56
|
+
| signed_in? | Boolean value which determines whether the user is signed in |
|
57
|
+
| | or not |
|
58
|
+
+-----------------+-------------------------------------------------------------------+
|
59
|
+
|
60
|
+
You can also use the values from the ``stormpath.yml`` configuration file generated by this gem.
|
61
|
+
For example, if you want to iterate over all the fields that the register form contains you would do this by accessing:
|
62
|
+
|
63
|
+
.. code-block:: ruby
|
64
|
+
|
65
|
+
Stormpath::Rails.config.web.register.form.fields
|
66
|
+
|
67
|
+
or if you just need to use a conditional statement:
|
68
|
+
|
69
|
+
.. code-block:: ruby
|
70
|
+
|
71
|
+
Stormpath::Rails.config.web.change_password.enabled
|
72
|
+
|
73
|
+
|
74
|
+
Response Variables
|
75
|
+
------------------
|
76
|
+
|
77
|
+
Our gem will provide these objects on the response object for all JSON requests.
|
78
|
+
|
79
|
+
========== ==========
|
80
|
+
Variable Description
|
81
|
+
========== ==========
|
82
|
+
account The account object of the logged in user (undefined otherwise)
|
83
|
+
========== ==========
|
84
|
+
|
85
|
+
.. code-block:: ruby
|
86
|
+
|
87
|
+
{
|
88
|
+
account: {
|
89
|
+
href: account.href,
|
90
|
+
username: account.username,
|
91
|
+
modifiedAt: account.modified_at,
|
92
|
+
status: account.status,
|
93
|
+
createdAt: account.created_at,
|
94
|
+
email: account.email,
|
95
|
+
middleName: account.middle_name,
|
96
|
+
surname: account.surname,
|
97
|
+
givenName: account.given_name,
|
98
|
+
fullName: account.full_name
|
99
|
+
}
|
100
|
+
}
|