小编vik*_*ngh的帖子

如何实现Office 365 OAuth2登录身份验证的跨域请求?

我已经将Office 365 OAuth2登录身份验证用于ASP.NET Core API。直接从浏览器访问此API时,此方法工作正常。但是,当我从ajax请求/其他Web应用程序调用此API时,发生以下Cors策略错误。

Access to XMLHttpRequest at 'https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id=e0745314-9236-4fr2c-a2fg0-c19cjfsfrrrb6b&scope=api%3A%2F%2Fe0745314-9236-4fr2c-a2fg0-c19cjfsfrrrb6b%2Ftestapi&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%3A44332%2Fsignin-oidc&state=CfDJ8Kp1w7Ui3OZMswaNrHvqNR2MF9qKa9w3PILEMBv8s_zxSa3sMK1pQLr2EuNexhz8eM6
iDdbO2ciuxInNPCtbO1KJ31O_zXvOA_sMXHbAhzzkXKN9QDmrHMUOiQQdjXjam4EqKlopDpcE2vUxcus
4WehJCUfCqdQZjMuzZS7ovrxslRX2ueRNFqpSDichJCf_iduXgFV1bNLRM8gK0TmjUrdkdYtyji7BNsNdPP
o9Fhad' (redirected from 'https://localhost:44332/api/login/account') **from origin 'null'** has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)

我试图在启动文件中使用以下方法解决此问题。但是,我仍然遇到这个问题。

ConfigureServices:

services.AddCors(o => o.AddPolicy("CorsPolicy", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
})); 
Run Code Online (Sandbox Code Playgroud)

配置:

app.UseCors("CorsPolicy");

**Client Application** : http://localhost:5000  
**API** : http://localhost:44332  
**Login provider** : Office 365
Run Code Online (Sandbox Code Playgroud)

请向我建议从Office 365获得授权后实现跨源和重定向到相应客户端应用程序(http:// localhost:5000)URL 的标准方法吗?

注意:从API重定向到Microsoft登录名时,“来源”变为“空”。

authentication oauth azure-active-directory .net-core

7
推荐指数
1
解决办法
63
查看次数

我在使用 fbOAuth 进行身份验证时遇到“浏览器”必须是非空字符串错误

my_oauth <- fbOAuth(app_id="", app_secret="")
Run Code Online (Sandbox Code Playgroud)

复制并粘贴到 Facebook 应用程序设置上的站点 URL:http://localhost:1410/

完成后,按任意键继续...

正在等待浏览器中的身份验证...

按 Esc/Ctrl + C 中止 utils::browseURL(hu$url) 中的错误:“浏览器”必须是非空字符串

r rfacebook

5
推荐指数
0
解决办法
3578
查看次数

一起使用 String 和 int 时的 System.out.println 行为

考虑下面的代码片段 -

public class Student {

    public static void main(String args[]) {
        int a = 3;
        int b = 4;
        System.out.println(a + b +" ");
        System.out.println(a + b +" "+ a+b);
        System.out.println(""+ a+b);

    }
}
Run Code Online (Sandbox Code Playgroud)

上述代码片段的输出如下:

7
7 34
34
Run Code Online (Sandbox Code Playgroud)

从输出中可以清楚地看出,如果我们首先在 print 语句中使用 String,那么整数将被连接起来。但是,如果我们首先使用整数,那么这些值将被添加并显示。

有人可以解释一下为什么会出现这种行为吗?

我什至尝试查看 PrintStream 类中 println() 方法的实现,但无法弄清楚。

java string int operation

3
推荐指数
1
解决办法
1万
查看次数