移动应用程序 GetIdentityAsync 没有价值
Mobile App GetIdentityAsync no value
我从 Azure 服务移动应用程序 API 自定义控制器中获得此代码。结果总是相同的“1:1”。我测试了所有身份提供商,google、facebook、twitter 和 Microsoft 帐户,AD 除外。我认为问题是对 GetIdentityAsync 的调用。谁能帮我?谢谢
[HttpGet]
public async Task<string> GetIdentityInfo()
{
var user = (MobileAppUser)this.User;
string str = "";
string Provider = "YES", UserId = "NO";
try
{
if (user != null)
{
Provider = "1"; UserId = "1";
var microsoftCredentials = await user.GetIdentityAsync<MicrosoftAccountCredentials>();
if (microsoftCredentials != null && microsoftCredentials.Claims != null)
{
Provider = "MICROSOFT";
UserId = microsoftCredentials.UserId;
}
Provider = "2"; UserId = "2";
var googleCredentials = await user.GetIdentityAsync<GoogleCredentials>();
if (googleCredentials != null && googleCredentials.Claims != null)
{
Provider = "GOOGLE";
UserId = googleCredentials.UserId;
}
Provider = "3"; UserId = "3";
var facebookCredentials = await user.GetIdentityAsync<FacebookCredentials>();
if (facebookCredentials != null && facebookCredentials.Claims != null)
{
Provider = "FACEBOOK";
UserId = facebookCredentials.UserId;
}
Provider = "4"; UserId = "4";
var twitterCredentials = await user.GetIdentityAsync<TwitterCredentials>();
if (twitterCredentials != null && twitterCredentials.Claims != null)
{
Provider = "TWITTER";
UserId = twitterCredentials.UserId;
}
}
else
{
Provider = "NONE"; UserId = "NULL";
}
}
catch (Exception ex)
{
str = "ERROR";
}
finally
{
str = Provider + ":" + UserId;
}
return str;
}
我们得到了 Microsoft 支持工程师 Adrian Fernandez Garcia 的支持,并发送了一个运行良好的示例。唯一的区别是 EMA_RuntimeUrl 必须在应用程序属性中的 Azure 门户中的移动应用程序中手动创建,并分配给网关地址。
实际上这个值是自动创建的,不需要手动创建。
这给了我们错误 URIFormat NULL value
。
现在一切正常。
感谢微软的支持
我从 Azure 服务移动应用程序 API 自定义控制器中获得此代码。结果总是相同的“1:1”。我测试了所有身份提供商,google、facebook、twitter 和 Microsoft 帐户,AD 除外。我认为问题是对 GetIdentityAsync 的调用。谁能帮我?谢谢
[HttpGet]
public async Task<string> GetIdentityInfo()
{
var user = (MobileAppUser)this.User;
string str = "";
string Provider = "YES", UserId = "NO";
try
{
if (user != null)
{
Provider = "1"; UserId = "1";
var microsoftCredentials = await user.GetIdentityAsync<MicrosoftAccountCredentials>();
if (microsoftCredentials != null && microsoftCredentials.Claims != null)
{
Provider = "MICROSOFT";
UserId = microsoftCredentials.UserId;
}
Provider = "2"; UserId = "2";
var googleCredentials = await user.GetIdentityAsync<GoogleCredentials>();
if (googleCredentials != null && googleCredentials.Claims != null)
{
Provider = "GOOGLE";
UserId = googleCredentials.UserId;
}
Provider = "3"; UserId = "3";
var facebookCredentials = await user.GetIdentityAsync<FacebookCredentials>();
if (facebookCredentials != null && facebookCredentials.Claims != null)
{
Provider = "FACEBOOK";
UserId = facebookCredentials.UserId;
}
Provider = "4"; UserId = "4";
var twitterCredentials = await user.GetIdentityAsync<TwitterCredentials>();
if (twitterCredentials != null && twitterCredentials.Claims != null)
{
Provider = "TWITTER";
UserId = twitterCredentials.UserId;
}
}
else
{
Provider = "NONE"; UserId = "NULL";
}
}
catch (Exception ex)
{
str = "ERROR";
}
finally
{
str = Provider + ":" + UserId;
}
return str;
}
我们得到了 Microsoft 支持工程师 Adrian Fernandez Garcia 的支持,并发送了一个运行良好的示例。唯一的区别是 EMA_RuntimeUrl 必须在应用程序属性中的 Azure 门户中的移动应用程序中手动创建,并分配给网关地址。
实际上这个值是自动创建的,不需要手动创建。
这给了我们错误 URIFormat NULL value
。
现在一切正常。
感谢微软的支持