首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >背景作业中的AcquireToken()

问背景作业中的AcquireToken()
EN

Stack Overflow用户
提问于 2015-04-19 20:06:15
回答 1查看 809关注 0票数 1

我使用Azure Active和阿达尔与Office365的Exchange和OAuth进行交互。

我知道您可以使用authContext.AcquireToken(),它将为您管理所有的oauth。它将为您保存、使用和刷新令牌,并在需要时提示到用户凭据。在我的例子中的问题是,我需要一个Azure背景网络作业的交互,这样它就不能要求用户证书。

我尝试的是获取授权代码,让用户从GetAuthorizationRequestURL()访问url。然后使用AcquireTokenByAuthorizationCode()获取令牌并将刷新令牌保存在数据库中。因此,当后台作业需要连接到EWS时,它可以使用AcquireTokenByRefreshToken()使用刷新令牌(保存在Db中)。

这种方法可以工作,但我不知道你怎么能得到一个新的刷新令牌,当它到期后,14天。

对于如何更新刷新令牌或在后台作业中使用ADAL的更好方法,我有什么想法吗?

谢谢和问候!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-19 20:33:59

这里有个主意。创建一个简单的控制台或win form应用程序,请求您的令牌。在该应用程序中,使用自定义缓存将令牌保存在便携存储区(如加密文件,请参见https://github.com/AzureADSamples/NativeClient-DotNet)。运行该应用程序一次,为缓存添加种子。然后把这个缓存和你的网络作业一起部署。现在90天左右,你会没事的。另一种选择是使用用户名/密码流,但这很少是一个好主意,它包含了许多重要的限制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29735221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档