I created sample react login application where user can login by implict oauth2 login via azure ad by refering to this documentation.
After successful login I am not able to access keyvault secrets by using microsoft graph api with the help of access token.
This is the error I am getting while I am trying to access secrets from keyvault 
I also updated the scopes in my code by adding additional keyvault scope in config.js file.
module.exports ={ appId: "6c90510c-82fd-4113-8aa5-6abdac107839", scopes: [ "user.read", "https://vault.azure.net/user_impersonation" ] }; I also added Keyvault Api permissions in app registration from azure portal.
.
Here is my login code
import { UserAgentApplication } from 'msal' class Login extends React.Component { constructor(props) { super(props); this.submitHandler = this.submitHandler.bind(this); this.email = React.createRef(); this.password = React.createRef(); this.token = ""; this.expiresOn = 0; this.userAgentApplication = new UserAgentApplication({ auth: { clientId: config.appId, clientSecret: "W~~4iZ.uKv~eoAd-hKKU35WJVv.---83Gm", redirectUri: "http://localhost:3000/events" }, cache: { cacheLocation: "localStorage", // This configures where your cache will be stored storeAuthStateInCookie: true, // Set this to "true" if you are having issues on IE11 or Edge } }); this.state = { error: null, isAuthenticated: false, user: {} }; } login = async () => { try { // Login via popup await this.userAgentApplication.loginPopup( { scopes: config.scopes, prompt: "select_account" }); // After login, get the user's profile await this.getUserProfile(); var user = this.userAgentApplication.getAccount(); } catch (err) { console.log("errror", err.message) this.setState({ isAuthenticated: false, user: {}, error: err.message }); } } logout = () => { this.userAgentApplication.logout(); } getUserProfile = async () => { try { const data = await this.userAgentApplication.acquireTokenSilent({ scopes: config.scopes }); if (data.accessToken) { console.log("Token", data.accessToken); this.token = data.accessToken; this.expiresOn = data.expiresOn; } } catch (err) { console.log("err", err.message); } } render() { const { isLogin } = this.props; const buttonTitle = isLogin ? "Sign Up" : "Login"; return ( <form className="login-form"> { !isLogin && <IconButton backgroundColor="#0A66C2" font="14px" width='35%' padding='8px' microsoftLoginHandler={this.login} />} </form> ); } } After getting access token when I tried the hit api from postman. It is showing some error. Can anyone please guide me to resolve this error as I am new to Azure Ad and Keyvault
Thanks in advance

clientSecretwon't be a secret. Similarly, client-side applications must never access a Key Vault directly for the same reason. You should be using OIDC Implicit authentication for this and handling secret-management in your own server-side application code.access_token(check thescopemember in the JWT) then that should work in theory - but I wouldn't be surprised if AzureAD disallows it for insecure clients.