Currently, I am doing research on my Internship company. The company uses the OAuth2 method to do Integration between the company web app services and the partner's API, but it's not support knowing who the user is. Also, I found an issue that the company put the refresh token and access token in session storage on web browser. As far my research, the web application can be attacked using the Hijacking method. The other thing is some of the integration only use API key to do handshakes. My Hypothesis :
- The company needs to implement OIDC before the OAuth2
- The Refresh and Access token on session storage need to be encrypted, but I don't know it is possible or not
- The company who only using API key need to implement OAuth2
my question :
- is the OAuth2 method the best method secure an Authentication?
- it is possible to encrypt token on session storage web browser?
Thanks in advance :D