Cors no-access-control-allow-origin when trying to call B2C login

ぃ、小莉子 提交于 2021-02-04 21:51:02

问题


I cannot resolve this error, i have a .net core web api, with a react application inside of it ( net core react template )

I have also added cors:

      services.AddCors(options =>
        {
            options.AddPolicy("AllowMyOrigin",
            builder => builder.WithOrigins("https://localhost:44300")
            .AllowAnyHeader()
            .AllowAnyMethod()
            .AllowCredentials()
            );
        });

I have tried multiple things but i cant get past this error.

I have found loads of material online to try and nothing seems to work i feel like i am missing something really obvious?

Can someone point me in the right direction.

I expect that there should be an allow origin header:

I also tried using the Mosif browser extension to turn cors on, this stoped the cors error from showing but now i have a 404 (notfound ) on:

https://login.microsoftonline.com/tfp/domainname.onmicrosoft.com/b2c_1_sign_up/v2.0/.well-known/openid-configuration


回答1:


You mention that you get an 404 error when opening the openid-configuration url. This means that part of your configuration is incorrect. You must be able to open this url in your browser and get back a JSON document. Copy it to a new tab and tweak it until you get back a result.

Please double check your configured policy and tenant name. The full url usually looks like this:

https://tenantname.b2clogin.com/tenantname.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration
https://tenantname.b2clogin.com/tenantname.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=<policy-name>
https://login.microsoftonline.com/tfp/tenantname.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration

All of these are equally valid and can be used depending on your scenario.

The config should then look something like this:

authentication.initialize({
    instance: 'https://tenantname.b2clogin.com/',
    tenant: 'tenantname.onmicrosoft.com',

Another issue might be if your B2C tenant quite new, Microsoft could be blocking support for microsoftonline for your tenant. In this case, try switching to the b2clogin.com domain as your instance.

You can see a possible value for this url when opening the user flow in the Azure Portal.

As a sidenote, I would suggest switching to a different react library. The one you are using is not really being maintained. We are currently using https://github.com/syncweek-react-aad/react-aad



来源:https://stackoverflow.com/questions/62975275/cors-no-access-control-allow-origin-when-trying-to-call-b2c-login

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!