Authentication
Authentication Factors
Knowledge - Something the user KNOWS. Example, password, pin code, security questions
Ownership - Something the user HAS. Example, key, badge, ticket, credit card
Inherence - Something the user IS. Example, Fingerprint, voice, facial recognition
NodeJS Authentication
References
https://github.com/skylarstein/node-passport-social-auth
https://mherman.org/blog/social-authentication-in-node-dot-js-with-passport/
https://www.twilio.com/blog/facebook-oauth-login-node-js-app-passport-js
https://auth0.com/blog/create-a-simple-and-secure-node-express-app/
https://codeburst.io/node-js-rest-api-facebook-login-121114ee04d8
https://github.com/saidzalehan/account-linking
Courses
https://www.linkedin.com/learning/web-security-user-authentication-and-access-control
PassportJS Options:
interface AuthenticateOptions {
authInfo?: boolean | undefined;
assignProperty?: string | undefined;
failureFlash?: string | boolean | undefined;
failureMessage?: boolean | string | undefined;
failureRedirect?: string | undefined;
failWithError?: boolean | undefined;
session?: boolean | undefined;
scope?: string | string[] | undefined;
successFlash?: string | boolean | undefined;
successMessage?: boolean | string | undefined;
successRedirect?: string | undefined;
successReturnToOrRedirect?: string | undefined;
state?: string | undefined;
pauseStream?: boolean | undefined;
userProperty?: string | undefined;
passReqToCallback?: boolean | undefined;
prompt?: string | undefined;
}
Unity Hub Example:
https://api.unity.com/v1/oauth2/authorize?
client_id=unity_hub&
response_type=code&
code_challenge=Zc38mxXb_koq-e2-Ga8YFIeIv5YNGV37Z2O7lYe_QWI
&code_challenge_method=s256
&redirect_uri=unityhub%3A%2F%2Flogin
&locale=en_US