通过Web代理获取Azure访问令牌

时间:2016-07-07 16:42:18

标签: azure azure-active-directory

我们正在使用 Microsoft.IdentityModel.Clients.ActiveDirectory API从Azure AD获取访问令牌。

我们要求API调用应该通过Web代理。我们找不到任何相关的示例代码。

有没有选择来达到这个要求。请找到使用的代码段。

string accessToken = string.Empty;
 AuthenticationContext authContext = new AuthenticationContext(string.Format(authority, subscription.TentantId));            
            var clientCredential = new ClientCredential(subscription.ClientId, subscription.SecertKey);
            var result = authContext.AcquireToken(resource, clientCredential);
            accessToken = result.AccessToken;
            return accessToken;

1 个答案:

答案 0 :(得分:1)

我担心这个库不支持IWebProxy对象的设置 - 我找不到办法。但是,似乎有两种解决方案:

1)您可以设置全局代理,但这是推荐的做法。见下文:

########################################################
# 1. Create a minimal df
########################################################
date <- as.Date(c("2015-10-11", "2016-11-11", "2017-12-11"))
o <- c(1459.60, 1458.47, 1457.71)
c <- c(1458.44, 1457.68, 1458.27)
h <- c(1459.76, 1459.01, 1458.27)
l <- c(1458.08, 1457.52, 1457.70)
v <- c(185, 24080, 9503)
a <- c(185, 24080, 9503)

d3 <- data.frame(date,o,c,h,l,v,a)
colnames(d3)[1:7] <- c('date', 'open', 'close', 'high', 'low', 'volume', 'adjusted')

########################################################
# 2. Produce an xts(x3) based on a df (d3)
########################################################
x3 <- xts(d3[,-1], order.by = d3$date)

########################################################
# 3. Extraction of menu, to select 1 which should
# create a graph with 3 indicators
########################################################
cat("\014")
menu.level.1 <- readline(prompt="Please select just number 1: ")
if (menu.level.1 == 1) {
  print("...create graph")
  chartSeries(x3); addRSI(1); addMACD(2, 1, 1); addBBands(2)
}

2)您可以通过REST api调用请求令牌并手动将代理设置为您的HttpRequest

WebRequest.DefaultWebProxy = new WebProxy("10.0.0.1:1234");

在某些情况下这可能很棘手(jwt客户端断言类型等等。)

请参阅此示例:https://github.com/mattleib/o365api-as-apponly-webapp/blob/master/AccessMailboxAsApp/AccessMailboxAsApp/Controllers/HomeController.cs#L558