Подключение к Service Fabric с помощью приложения - PullRequest
0 голосов
/ 22 марта 2019

Я хочу подключиться к 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;
        }

1 Ответ

1 голос
/ 26 марта 2019

Если вы используете приложение для получения access_token с помощью потока учетных данных клиента , оно использует свои собственные учетные данные вместо того, чтобы выдавать себя за пользователя, для аутентификации при вызове другого веб-сервиса.А на портале Azure вы можете назначить роль приложениям или просто выдать себя за пользователя, делегировав разрешения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...