├── .gitattributes ├── app ├── .buildignore ├── robots.txt ├── favicon.ico ├── images │ ├── camera.png │ ├── edit.png │ ├── logo.png │ ├── plus.png │ ├── spinner.gif │ ├── success.png │ ├── factors │ │ ├── sms.png │ │ └── google-authenticator.png │ ├── app-store-button.png │ ├── google-play-button.png │ └── google-authenticator-logo.png ├── scripts │ ├── controllers │ │ ├── registration.js │ │ ├── unverified.js │ │ ├── error.js │ │ ├── mfa-redirect.js │ │ ├── verify.js │ │ ├── registrationform.js │ │ ├── reset.js │ │ ├── forgot.js │ │ ├── mfa-setup.js │ │ ├── mfa-verify.js │ │ └── login.js │ ├── directives │ │ ├── validateonblur.js │ │ ├── namevalidation.js │ │ ├── passwordmatchvalidation.js │ │ ├── formgroup.js │ │ ├── emailvalidation.js │ │ ├── formcontrol.js │ │ └── passwordpolicyvalidation.js │ ├── url-rewriter.js │ ├── app.js │ ├── services │ │ └── stormpath.js │ └── app-mock.js ├── views │ ├── unverified.html │ ├── mfa-redirect.html │ ├── error.html │ ├── password-error-messages.html │ ├── verify.html │ ├── reset.html │ ├── forgot.html │ ├── registration.html │ ├── mfa-verify.html │ ├── login.html │ └── mfa-setup.html ├── go.html ├── error.html ├── styles │ └── grid │ │ ├── reset.less │ │ ├── grid.less │ │ └── text.less └── index.html ├── .bowerrc ├── .gitignore ├── test ├── runner.html ├── spec │ ├── services │ │ └── stormpath.js │ ├── directives │ │ ├── formgroup.js │ │ ├── formcontrol.js │ │ ├── namevalidation.js │ │ ├── emailvalidation.js │ │ ├── validateonblur.js │ │ ├── passwordmatchvalidation.js │ │ └── passwordpolicyvalidation.js │ └── controllers │ │ ├── unverified.js │ │ ├── forgot.js │ │ ├── registration.js │ │ ├── registrationform.js │ │ ├── reset.js │ │ ├── login.js │ │ ├── hostedlogin.js │ │ └── verify.js ├── protractor │ ├── .eslintrc │ ├── unverified.js │ ├── .jshintrc │ ├── error.js │ ├── page-objects │ │ ├── submit-form.js │ │ ├── idsite-app.js │ │ ├── login-form.js │ │ ├── forgot-password-form.js │ │ └── registration-form.js │ ├── verify.js │ ├── suite │ │ └── password.js │ ├── forgot.js │ ├── reset.js │ ├── register.js │ ├── login.js │ └── util.js └── .jshintrc ├── protractor.conf.sauce.js ├── bower.json ├── .editorconfig ├── .jshintrc ├── .travis.yml ├── protractor.conf.js ├── karma-e2e.conf.js ├── karma.conf.js ├── package.json ├── CHANGELOG.md ├── localtunnel.js ├── README.md ├── LICENSE └── Gruntfile.js /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto -------------------------------------------------------------------------------- /app/.buildignore: -------------------------------------------------------------------------------- 1 | *.coffee -------------------------------------------------------------------------------- /app/robots.txt: -------------------------------------------------------------------------------- 1 | # robotstxt.org 2 | 3 | User-agent: * 4 | -------------------------------------------------------------------------------- /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "app/bower_components" 3 | } 4 | -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /app/images/camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/camera.png -------------------------------------------------------------------------------- /app/images/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/edit.png -------------------------------------------------------------------------------- /app/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/logo.png -------------------------------------------------------------------------------- /app/images/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/plus.png -------------------------------------------------------------------------------- /app/images/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/spinner.gif -------------------------------------------------------------------------------- /app/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/success.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .tmp 4 | .sass-cache 5 | app/bower_components 6 | coverage 7 | .env 8 | -------------------------------------------------------------------------------- /app/images/factors/sms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/factors/sms.png -------------------------------------------------------------------------------- /app/images/app-store-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/app-store-button.png -------------------------------------------------------------------------------- /app/images/google-play-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/google-play-button.png -------------------------------------------------------------------------------- /app/images/google-authenticator-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/google-authenticator-logo.png -------------------------------------------------------------------------------- /app/images/factors/google-authenticator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stormpath/idsite-src/HEAD/app/images/factors/google-authenticator.png -------------------------------------------------------------------------------- /app/scripts/controllers/registration.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | angular.module('stormpathIdpApp') 4 | .controller('RegistrationCtrl', function ($scope) { 5 | return $scope; 6 | }); 7 | -------------------------------------------------------------------------------- /app/scripts/controllers/unverified.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | angular.module('stormpathIdpApp') 4 | .controller('UnverifiedCtrl', function ($scope,Stormpath,$location) { 5 | if(!Stormpath.isRegistered){ 6 | $location.path('/'); 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /test/runner.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |Your account has been successfully created! Check your email and activate your account.
8 |
4 | 10 | You'll be redirected to your application shortly. 11 | You're all set. You'll be redirected to your application shortly. 12 |
13 |
14 |
15 |
1.) Open your dev tools and the network inspector so that you are ready to see the action! 5 |
2.) Paste the oauth request link here: 6 |
7 | 8 |
9 |3.) After you paste the link, it will be available for clicking here:
10 | (link not pasted yet!) 11 |4.) Once you click the link you will be taken through the redirect to the login page. You can come back to this page at any time and paste in a new link to start the process over again.
12 | 13 | -------------------------------------------------------------------------------- /test/protractor/unverified.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var chai = require('chai'); 4 | var chaiAsPromised = require('chai-as-promised'); 5 | 6 | chai.use(chaiAsPromised); 7 | var expect = chai.expect; 8 | 9 | var util = require('./util'); 10 | 11 | describe.skip('Verification view', function() { 12 | 13 | describe('if I arrive here directly', function() { 14 | 15 | before(function(){ 16 | browser.get( 17 | browser.params.appUrl + '#/unverified' + util.fakeAuthParams('1') 18 | ); 19 | }); 20 | it('should take me to the login view', function() { 21 | browser.sleep(1000); 22 | util.getCurrentUrl(function(url){ 23 | expect(url).to.match(/\/#\/\?/); 24 | }); 25 | }); 26 | }); 27 | 28 | }); -------------------------------------------------------------------------------- /app/views/error.html: -------------------------------------------------------------------------------- 1 |5 |
9 | Please use your browser's back button to return to the previous page, then try again. 10 |
11 |14 | If this problem persists, please provide this error information to your support team: 15 |
16 | 17 |15 |
16 |
18 |
Please contact the owner of this site for assistance
19 |10 | Success! Your account is ready, please 11 | log in 12 |
13 |19 | Please try again by clicking on the verification link that was sent to your email address. 20 |
21 |22 | If you continue to have problems you may need to 23 | register 24 | again. 25 |
26 |11 | You will need to make a new password reset request. 12 | Click here to try again 13 |
14 |15 |
18 | You may now 19 | log in 20 |
21 |22 |
The error was:
25 |{{error}}
26 |12 | We've sent a password reset link to 13 | {{fields.email.value}}. 14 |
15 |16 |

{{factor.title}}
17 |{{factor.subTitle}}
18 |{{errors.userMessage}}
27 |
{{factor.title}}
17 |{{factor.subTitle}}
18 |
73 |
Search the App Store or Play Store
for "Google Authenticator".
74 |
Tap the plus icon.
Scan this barcode:
Paste in this code:
96 | {{factor.secret}} 97 |
98 |