我正在跟踪本指南,使用MSAL和网络身份验证器建立社会登录身份验证。示例调用如下所示:
WebAuthenticatorResult authResult = await WebAuthenticator.Default.AuthenticateAsync(
new Uri("https://example.com/mobileauth/Microsoft"),
new Uri("myapp://"));
但是第二个URI参数应该是什么呢?指南中的是这样说的:
流最终要调用的URI,即注册到应用程序的URI。
那么,我如何在我的应用程序中注册这样的URI呢?我试着跟踪本指南,并在azure活动目录中注册了我的应用程序,但是facebook/google等不接受表单myapp://的urls作为有效的重定向URI.我遗漏了什么?
更新,因此流的前半部分工作正常,但是我一直从OAuth提供者那里得到错误(图中的绿色高亮显示不起作用)。
这是来自谷歌的信息:
这是来自Facebook的:
但是我添加了所有这些有效的回调URL:
发布于 2022-11-24 08:29:57
最后,多亏了这个古老的Xamarin问题:https://github.com/xamarin/Essentials/issues/1224#issuecomment-618192336,终于找到了真相。
必须在API配置中设置"CallbackPath“属性,如下所示:
.AddGoogle(g => {
g.ClientId = "{Client ID}";
g.ClientSecret = "{Client Secret}";
g.CallbackPath = "/mobileauth"; //mobileauth is api controller
g.SaveTokens = true; })
然后告诉该重定向的提供者,例如在google控制台中添加"https://{API-URL}/mobileauth“。
https://stackoverflow.com/questions/72641363
复制相似问题