我正在开发一个门户网站,并有这种情况:
-
用户进入ASP.Net Core 2 Razor Pages Web门户,注册或登录Facebook
-
在主页index.cshtml上,有一个HTML和一个带有属性{}的简单VueJS
-
VueJS使用Axios Javascript库从Azure功能中获取此Account.Total值 . https://myfunctionapp.azurewebsites.net/api/GetAccountTotal?AccountId=ABC
-
用户还登录UWP和Mobile Xamarin.Forms应用程序
-
在Xamarin.Forms中制作的移动应用程序也调用此Azure函数来获取Account.Total
-
UWP应用程序还调用此Azure函数来获取Account.Total
这个想法是ASP.Net Core只是一个客户端,如UWP和Xamarin App . Azure Functions将是后端,就像Web API一样; Microsoft Graph Facebook身份验证将保护所有这些并识别用户 .
Azure功能需要使用相同的Graph / Azure AD B2C身份验证 . 用户只需在ASP.Net Razor页面登录一次,所有相关服务和呼叫都必须读取这些凭据 .
如何配置以及执行此操作所需的代码在ASP Net Core2,VueJS和Azure Functions C#预编译(v1和v2)上登录和验证 Microsoft Graph B2C Facebook用户帐户?
1 回答
这一切看起来很明显,但经过几天的尝试,我会在这里发布步骤 . (编辑此答案以提供更多详细信息)
但最重要的难以找到的部分(按顺序)是:
1)我添加了additionalLoginParams后它工作了
在https://resources.azure.com/
在页面顶部,选择“读/写” . 在左侧浏览器中,导航到subscriptions> resourceGroups> providers> Microsoft.Web> sites >> config> authsettings .
单击编辑 .
修改以下属性 . 替换为要访问的服务的Azure Active Directory应用程序ID .
2)在ASP.Net Core 2上你放入登录和注销:
你可以要求
3)然后在JavaScript上,您必须调用发送授权标头承载令牌的Azure功能
资料来源:https://docs.microsoft.com/en-us/azure/app-service/app-service-authentication-how-to#refresh-access-tokens
也许我还需要使用0)ADAL.NET(Microsoft.IdentityModel.Clients.ActiveDirectory)