-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Authentication via ORCID #26
Comments
available now on SONAR DEV For information, we use the ORCID sandbox API at this time. Here's a test account : User: [email protected] |
Do we have an official account on ORCID for RERO ? I need this to generate credentials for production API |
No, we don't. |
Some new information! If email is visible in ORCID record, we take this value to populate account email. In this case the create account process is completely transparent (registration form is not displayed), because invenio has all the information needed to create the account. By default, in ORCID, emails are not visible. So I think email value will not be available in a lot of records. For username, we automatically slugify the full name value. For instance, "Sébastien Délèze" becomes "sebastien-deleze" All information about ORCID record is stored on database as dictionary (invenio has a dedicated field for that). Here's a sample of record content: {
"orcid": "0000-0003-4047-4000",
"record": {
"orcid-identifier": {
"uri": "http://sandbox.orcid.org/0000-0003-4047-4000",
"path": "0000-0003-4047-4000",
"host": "sandbox.orcid.org"
},
"preferences": {
"locale": "EN"
},
"history": {
"creation-method": "DIRECT",
"completion-date": null,
"submission-date": {
"value": 1561356052112
},
"last-modified-date": {
"value": 1561616125648
},
"claimed": true,
"source": null,
"deactivation-date": null,
"verified-email": true,
"verified-primary-email": true
},
"person": {
"last-modified-date": {
"value": 1561614713340
},
"name": {
"created-date": {
"value": 1561356052112
},
"last-modified-date": {
"value": 1561356052332
},
"given-names": {
"value": "Sébastien"
},
"family-name": {
"value": "Délèze"
},
"credit-name": null,
"source": null,
"visibility": "PUBLIC",
"path": "0000-0003-4047-4000"
},
"other-names": {
"last-modified-date": {
"value": 1561552306733
},
"other-name": [
{
"created-date": {
"value": 1561552306719
},
"last-modified-date": {
"value": 1561552306733
},
"source": {
"source-orcid": {
"uri": "http://sandbox.orcid.org/0000-0003-4047-4000",
"path": "0000-0003-4047-4000",
"host": "sandbox.orcid.org"
},
"source-client-id": null,
"source-name": {
"value": "Sébastien Délèze"
}
},
"content": "Test",
"visibility": "PUBLIC",
"path": "/0000-0003-4047-4000/other-names/16948",
"put-code": 16948,
"display-index": 1
}
],
"path": "/0000-0003-4047-4000/other-names"
},
"biography": null,
"researcher-urls": {
"last-modified-date": null,
"researcher-url": [],
"path": "/0000-0003-4047-4000/researcher-urls"
},
"emails": {
"last-modified-date": {
"value": 1561614713340
},
"email": [
{
"created-date": {
"value": 1561356052332
},
"last-modified-date": {
"value": 1561614713340
},
"source": {
"source-orcid": {
"uri": "http://sandbox.orcid.org/0000-0003-4047-4000",
"path": "0000-0003-4047-4000",
"host": "sandbox.orcid.org"
},
"source-client-id": null,
"source-name": {
"value": "Sébastien Délèze"
}
},
"email": "[email protected]",
"path": null,
"visibility": "PUBLIC",
"verified": false,
"primary": false,
"put-code": null
}
],
"path": "/0000-0003-4047-4000/email"
},
"addresses": {
"last-modified-date": {
"value": 1561556088052
},
"address": [
{
"created-date": {
"value": 1561556088050
},
"last-modified-date": {
"value": 1561556088052
},
"source": {
"source-orcid": {
"uri": "http://sandbox.orcid.org/0000-0003-4047-4000",
"path": "0000-0003-4047-4000",
"host": "sandbox.orcid.org"
},
"source-client-id": null,
"source-name": {
"value": "Sébastien Délèze"
}
},
"country": {
"value": "CH"
},
"visibility": "PUBLIC",
"path": "/0000-0003-4047-4000/address/5626",
"put-code": 5626,
"display-index": 1
}
],
"path": "/0000-0003-4047-4000/address"
},
"keywords": {
"last-modified-date": null,
"keyword": [],
"path": "/0000-0003-4047-4000/keywords"
},
"external-identifiers": {
"last-modified-date": null,
"external-identifier": [],
"path": "/0000-0003-4047-4000/external-identifiers"
},
"path": "/0000-0003-4047-4000/person"
},
"activities-summary": {
"last-modified-date": {
"value": 1561356577192
},
"educations": {
"last-modified-date": null,
"education-summary": [],
"path": "/0000-0003-4047-4000/educations"
},
"employments": {
"last-modified-date": {
"value": 1561356577192
},
"employment-summary": [
{
"created-date": {
"value": 1561356577192
},
"last-modified-date": {
"value": 1561356577192
},
"source": {
"source-orcid": {
"uri": "http://sandbox.orcid.org/0000-0003-4047-4000",
"path": "0000-0003-4047-4000",
"host": "sandbox.orcid.org"
},
"source-client-id": null,
"source-name": {
"value": "Sébastien Délèze"
}
},
"department-name": "IT",
"role-title": "Developer",
"start-date": {
"year": {
"value": "2019"
},
"month": {
"value": "04"
},
"day": {
"value": "01"
}
},
"end-date": null,
"organization": {
"name": "RERO",
"address": {
"city": "Martigny",
"region": "Valais",
"country": "CH"
},
"disambiguated-organization": null
},
"visibility": "PUBLIC",
"put-code": 35568,
"path": "/0000-0003-4047-4000/employment/35568"
}
],
"path": "/0000-0003-4047-4000/employments"
},
"fundings": {
"last-modified-date": null,
"group": [],
"path": "/0000-0003-4047-4000/fundings"
},
"peer-reviews": {
"last-modified-date": null,
"group": [],
"path": "/0000-0003-4047-4000/peer-reviews"
},
"works": {
"last-modified-date": null,
"group": [],
"path": "/0000-0003-4047-4000/works"
},
"path": "/0000-0003-4047-4000/activities"
},
"path": "/0000-0003-4047-4000"
}
} |
Thanks! I think this is enough for now. The main feature with ORCID are already satisfied: 1. easier login and 2. get the ORCID. Later, we will think about the possibility of becoming ORCID basic member in order to access trusted data (with permission of the user), like e-mail. Subscription should be around USD 4'000.-/year incl. discount for non-profit organisations. |
I found what happened during the demo yesterday. Normally, the creation of the second account must have been completely transparent, but it was not the case because the username "sebastien-deleze" already existed in the database, associated with the first account. Invenio doesn't throw an error and simply shows the registration form. |
Based on https://fr.slideshare.net/chgutknecht/swiss-edu-idorcidsnf/32
Scenario (see ORCID spec):
The text was updated successfully, but these errors were encountered: