Project

General

Profile

Actions

Feature #7008

closed

Reconfigure 'Sign in with ORCID' to redirect to the login form, not the registration form

Added by Bryce Mecum almost 8 years ago. Updated almost 8 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
Target version:
-
Start date:
04/04/2016
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:

Description

When I click on 'Sign in with ORCID' from a page like https://arcticdata.io/catalog/#page/0, I get sent to https://orcid.org/oauth/signin{...} which shows a register page for a new ORCID. My first time doing that, I was confused and had to search for the small 'Sign In' text which was hard to spot. I now know what to do but I can imagine this being confusing for new users.

I checked how that 'Sign In' text works and I found that, if the URL is changed from https://orcid.org/oauth/signin{...} to https://orcid.org/oauth/signin{...}#show_login then the login form shows first instead of the register form. This comes from inside the Angular app that drives the UI of the site:

$scope.loadAndInitLoginForm = function() {
        $scope.isOrcidPresent = false;
        $.ajax({
            url: getBaseUri() + '/oauth/custom/authorize/empty.json',
            type: 'GET',
            contentType: 'application/json;charset=UTF-8',
            dataType: 'json',
            success: function(data) {
                $scope.authorizationForm = data;                                
                if($scope.authorizationForm.userName.value) {
                    $scope.isOrcidPresent = true;
                    $scope.showRegisterForm = false;                    
                }
                // #show_login - legacy fragment id, we should remove this sometime
                // after November 2014 and only support &show_login=true
                if(window.location.href.endsWith('#show_login'))
                    $scope.showRegisterForm = false;
                else if(!$scope.isOrcidPresent)
                    $scope.showRegisterForm = !orcidVar.showLogin;                

                $scope.$apply();
            }
        }).fail(function() {
            console.log("An error occured initializing the form.");
        });

This isn't a sanctioned change and could break in the future, as evidenced by the comment. However, if they update their app to behave differently, adding #show_login to the URL should just dump the user to the registration page like it currently does so I think this is a pretty safe change to make.

Actions #1

Updated by Bryce Mecum almost 8 years ago

Lauren noted that this isn't a Metacat UI concern but a CN portal one. Closing.

Actions #3

Updated by Bryce Mecum almost 8 years ago

Great, thanks Ben. That's 1000x better than what I came up with. What channels do we need to go through to get that in? Can I file a ticket somewhere other than MetacatUI?

Actions #4

Updated by ben leinfelder almost 8 years ago

  • Status changed from New to Rejected

Moved this over to DataONE: https://redmine.dataone.org/issues/7707

Actions #5

Updated by ben leinfelder almost 8 years ago

FYI - this is now working in search-sandbox-2

Actions

Also available in: Atom PDF