suggestions-questions-brainstorming icon indicating copy to clipboard operation
suggestions-questions-brainstorming copied to clipboard

New property for SoftwareApplication: authenticationRequired

Open rogerdc opened this issue 8 years ago • 3 comments

Some software applications require a user to authenticate to a server in order to use them. For instance, if you want to play an MMORPG, you must create an account and then authenticate to that account in order to play.

Could a property for SoftwareApplication be added, called "authenticationRequired" which could be either "Text" or possibly a new "Thing/Intangible/Enumeration/AuthenticationDetailType" that could have properties such as:

  • authenticationType (e. g., username/password, SSH key, OAuth2, HTTP Basic Auth)
  • credentialRequest (Text or URL instructing the user where to obtain credentials)
  • oAuth2URL (URL of where to obtain token)
  • forgotCredentials (Text or URL instructing the user how to address a forgotten credential)
  • passwordRequirements (Text of password requirements, e. g. how many characters, specials allowed. Possibly a PasswordRequirements type that could have properties of minimumLength, maximumLength, charactersAllowed, charactersDisallowed, firstCharactersAllowed, firstCharactersDisallowed, expirationInfo)
  • changeCredentials (Text or URL instructing the user how to, e. g., change their password)

This list is by no means complete, and could definitely withstand some scrutiny and expansion.

rogerdc avatar Aug 03 '17 17:08 rogerdc

Seems useful, but some adjustments:

  • authenticationRequired is a prop of Service or Website since the same software (eg MediaWiki) can be deployed with or without authentication. But if some notable softwares have a single instance and are described as Software not as Website, then it's ok to have all 3: rangeIncludes Service, Website, Software.
  • to avoid proliferation of enumeration values, can you hunt up those passwordRequirements values in Wikidata (and if not, create them)? Using Wikidata entities in Schema data is a policy proposed by Denny Vrandecic and approved by Schema
  • to avoid a proliferation of informational URLs (credentialRequest, forgotCredentials, changeCredentials), see http://schema.org/URL. It already has like 10 *Url props (install, service, replyTo, etc). I think it's better to always use prop url (or significantLink?) and put additionalType in the URL node. Eg
<MMORPG> authenticationRequired <MMORPG/authentication>.
<MMORPG/authentication> a AuthenticationInfo;
  url <MMORPG/authentication/request>, <MMORPG/forgot>, <MMORPG/change>.
<MMORPG/authentication/request> a URL; additionalType <CreateCredentials>.
<MMORPG/authentication/forgot> a URL; additionalType <RecoverCredentials>.
<MMORPG/authentication/change> a URL; additionalType <ChangeCredentials>.

where the values CreateCredentials RecoverCredentials ChangeCredentials are again picked from Wikidata.

Extra aspects you might want to capture:

  • whether the service supports federated login (Eg with google, facebook, github, twitter credential) and against which of those services
  • login creation requirements (eg Captcha)
  • password recovery requirements (eg security question, must remember registered email, ...)

VladimirAlexiev avatar Aug 24 '17 14:08 VladimirAlexiev

This issue is being tagged as Stale due to inactivity.

github-actions[bot] avatar Jul 20 '20 01:07 github-actions[bot]

See issue #7 for the context of the move from the main Schema.org issue tracker to this repository.

RichardWallis avatar Sep 01 '20 12:09 RichardWallis