So what is the concept of two factor authentication?
Most of the systems in the name of security have a username and password. But in today’s era where the rate of cyber crime victims touches 1.5 million per day it is very difficult to feel secure with your data with this single password system. As per the research people choose a password which can be hacked in a jiffy. ios app development company So suddenly your so called secure system does not remain so secure any more. Security must have something in it which you are in possession of for example the ATM cards we use these days to withdraw money… there is a card and there is a pin/ password. So even if the hacker has your app development company he doesn’t have your card or the vice-versa is true.
Talking about Alfresco two factor authentication it can be either done using:
1. Google authentication.
2. With Yubikey.
1. How Google Authentication Works?
User first needs to register a 16 character long string (let’s refer it as “Secret-Key” ) with Google Authentication app android app development company in his/her device. This Secret-Key gets associated with the user account in Alfresco Share.
When Alfresco asks for the verification code, user needs to look into the app and have to provide the 6 digit numeric code (let’s refer it as“Verification-Code”) which are generated in the app.
On the form submission, Verification-Code provided by the user gets verified on basis of associated Secret-Key.
How FA is embedded with Alfresco Share?
To implement two factor authentications you can use filters. You can also extend the default login controller provided by the Alfresco Share.
Following steps are encountered by a login request initiated by any user:
1. User makes request for the login page.
2. This request is identified as login page request by the filter (Two Factor Authentication Filter.java) and forwarded to its destination.
3. User enters the login credentials and submits the form.
4. Login form submitted request is forwarded to the controller by the filter.
5. As login controller(Login Controller.java) is extended , it gets the login done by the parent controller(i.e. default of share) after that, it extracts the information to identify if two factor authentication is mobile app development enabled for the current user profile or not.
6. If the 2FA is enabled, information saying “Two Factor Authentication Passed” as “false” is set in the session.
7. On the other hand, if 2FA is disabled, information saying “Two Factor Authentication Passed” as “true” is set in the session. (As for this case we do not require to verify).
8. After this login controller redirects the user to its home.
9. The redirected request encounters the custom filter. mobile app developers Now filter identifies that it’s not a login request then filter checks for the value of attribute “Two Factor Authentication Passed” in the session.
10. If the value of “is Two Factor Authentication Passed” is “false” then user gets redirected to the “2fa-login” page (To complete second step of 2fa).
