Я хочу подключиться к Service Fabric удаленно, используя приложение. В настоящее время мы подключаемся, используя имя пользователя / пароль, и это не очень безопасно. Если я запускаю приведенный ниже код, он возвращает, что данное приложение не является администратором кластера Service Fabric. То, что я не могу сделать, это добавить приложение в качестве администратора, только пользователей. Кто-нибудь делал это раньше? Очень мало онлайн об этом.
string token = GetAccessToken(tenantID, clusterApplicationId, clusterSecret);
var claimsCredentials = new ClaimsCredentials();
claimsCredentials.ServerThumbprints.Add(serverCertThumb);
claimsCredentials.LocalClaims = token;
try
{
var fc = new FabricClient(claimsCredentials, connection);
var ret = fc.ClusterManager.GetClusterManifestAsync().Result;
Console.WriteLine(ret.ToString());
}
catch (Exception e)
{
Console.WriteLine("Connect failed: {0}", e.Message);
}
private static string GetAccessToken(string tenantId, string clientId, string secretKey)
{
string resource = "https://graph.microsoft.com";
string authorityFormat = @"https://login.microsoftonline.com/{0}";
string authority = string.Format(CultureInfo.InvariantCulture, authorityFormat, tenantId);
var authContext = new AuthenticationContext(authority);
var clientCredential = new ClientCredential(clientId, secretKey);
var authResult = authContext.AcquireTokenAsync(resource, clientCredential).Result;
return authResult.AccessToken;
}