Login Azure AAD用户静默登录以提交Datalake U-SQL作业
我已经试过了这个样品 在上面的示例中,用户已使用交互式弹出窗口登录,但我希望以静默方式登录。还有别的办法吗Login Azure AAD用户静默登录以提交Datalake U-SQL作业,login,active-directory,jobs,azure-data-lake,u-sql,Login,Active Directory,Jobs,Azure Data Lake,U Sql,我已经试过了这个样品 在上面的示例中,用户已使用交互式弹出窗口登录,但我希望以静默方式登录。还有别的办法吗 public static ServiceClientCredentials AuthenticateAzure( string domainName, string nativeClientAppCLIENTID) { // User login via interactive popup SynchronizationContext.SetSynchr
public static ServiceClientCredentials AuthenticateAzure(
string domainName,
string nativeClientAppCLIENTID)
{
// User login via interactive popup
SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
// Use the client ID of an existing AAD "Native Client" application.
var activeDirectoryClientSettings = ActiveDirectoryClientSettings.UsePromptOnly(nativeClientAppCLIENTID, new Uri("urn:ietf:wg:oauth:2.0:oob"));
return UserTokenProvider.LoginWithPromptAsync(domainName, activeDirectoryClientSettings).Result;
}
是的,事实上,确实有办法做到这一点。我最近在这样一个项目中解决了这个问题。整个魔法在于LoginSilentAsync功能。有关详细信息,请参阅此Microsoft帖子: 我在类的构造函数中调用了Authenticate()函数;然后继续这样使用它:
ServiceClientCredentials _creds = Authenticate(... ... ...);
string _subscriptionId = "XXXXXXXXX";
// Create client objects and set the subscription ID
DataLakeStoreAccountManagementClient _adlsClient = new DataLakeStoreAccountManagementClient(_creds) { SubscriptionId = _subscriptionId };
DataLakeStoreFileSystemManagementClient _adlsFileSystemClient = new DataLakeStoreFileSystemManagementClient(_creds);
如果这就是你想要的,请告诉我。是的,事实上,确实有办法做到这一点。我最近在这样一个项目中解决了这个问题。整个魔法在于LoginSilentAsync功能。有关详细信息,请参阅此Microsoft帖子: 我在类的构造函数中调用了Authenticate()函数;然后继续这样使用它:
ServiceClientCredentials _creds = Authenticate(... ... ...);
string _subscriptionId = "XXXXXXXXX";
// Create client objects and set the subscription ID
DataLakeStoreAccountManagementClient _adlsClient = new DataLakeStoreAccountManagementClient(_creds) { SubscriptionId = _subscriptionId };
DataLakeStoreFileSystemManagementClient _adlsFileSystemClient = new DataLakeStoreFileSystemManagementClient(_creds);
如果这是你想要的,请告诉我