[英]How to Authenticate UWP app using Current Windows LoggedIn user
[英]Resolving current user in UWP app
有关UWP的一些基本信息:
这是我用来检索用户信息的代码:
public async Task ResolveUserAsync()
{
if (_currentUserInfo != null)
{
return;
}
var users = await User.FindAllAsync(UserType.LocalUser);
var desiredProperties = new[]
{
KnownUserProperties.FirstName, KnownUserProperties.LastName, KnownUserProperties.ProviderName, KnownUserProperties.AccountName, KnownUserProperties.GuestHost,
KnownUserProperties.PrincipalName, KnownUserProperties.DomainName, KnownUserProperties.SessionInitiationProtocolUri
};
_currentUserInfo = await users.FirstOrDefault().GetPropertiesAsync(desiredProperties);
foreach (var prop in _currentUserInfo)
{
Debug.WriteLine($"{prop.Key}: {prop.Value}");
}
}
调试控制台中的输出:
lastName:
firstName:
accountName:
domainName:
providerName:
sipUri:
principalName:
guestHost:
该应用程序在平板电脑上运行,平板电脑是经典广告的成员,我不知道为什么这些值是空的。 该应用要求在用户界面中确认用户详细信息。
旁注:如果在使用AzureAD帐户登录的计算机上对此进行测试,则此代码将仅填充firstName
和lastName
。
不完全确定此行为最近是否改变,但是在过去,这取决于您作为用户的隐私设置(设置->隐私->帐户信息->顶部切换开关)
我的应用程式中有类似的问题。 在应用清单中打开“企业身份验证”功能后,至少填充了PrincipalName属性
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.