0
votes

I'm recently trying to get accessToken from AzureADB2C with "acquireTokenSilent Flow". I'm using @azure/msal-browser and my app is React. So, now my code is like this.

    const getTokenRedirect = async (account, apiConfig) => {
        publicClient.acquireTokenSilent({
            scopes: apiConfig.scopes,
            account: account,
            authority: apiConfig.authority,
        }).then(tokenResponse => {
            console.log(tokenResponse);
            setAccessToken(tokenResponse.accessToken);
        }).catch(async (error) => {
            console.log(error);
        });

    }

Then this code response refresh token, not accessToken. I have no idea why acquireTokenSilent didn't response accessToken. I did get idToken from ADB2C. And another sample (msal.js vanilla Sample) got accessToken. So I think B2C setting is correct. My code has some problems.

Does anybody know solution for like this.

1
apiConfig = URI +scopes (I set my app on app registry panel on this uri is exposed . and scopes is set also at scopes panel. It's like https://[mywebapplicationURI]/[scopes] . This one is not b2c policy URL. But I got refresh token anyway.denshita
Can this answer your question?tiny-wa
Hi Tiny-wa. Thank you for your comment. I found this issue github.com/AzureAD/microsoft-authentication-library-for-js/… . I think this problem is same of mine.denshita
okay, the link you provided also gives a solution that using both acquireTokenSilent and acquireTokenRedirect. Hope you to solve it soon.tiny-wa

1 Answers

1
votes

This is caused by the version of msal-browser, and the accessToken cannot be returned in versions after 2.1.0.

It is a known issue of the B2C service currently tracked here, and Microsoft should fix it in the future.