Tag: adal

C#ADAL AcquireTokenAsync()没有弹出框

我们正在编写一个WCF服务,该服务必须与Dynamics CRM 2016 Online集成。 我正在尝试使用方法AcquireTokenAsync()使用ADAL进行身份validation。 问题是,它会显示一个弹出框,提示用户输入凭据。 当然,我们的应用程序是一项服务,这不是我们想要的。 我们一直在寻找一种无需此弹出框即可进行身份validation的方法。 有一个名为AuthenticationContextIntegratedAuthExtensions的类,它应该有助于“用户名/密码流”。 它有单个方法AcquireTokenAsync ,它会禁止弹出框,但我们没有找到任何方法将密码传递给它。 当仅使用用户名运行时,它会引发基本上说“没有提供密码”的exception。 有谁知道如何解决这个问题? 甚至不必是ADAL。 只是获取OAuth令牌的东西。

“无法以静默方式获取令牌。 调用方法AcquireToken“

try { ClientCredential clientCredential = new ClientCredential(“***********”,”**************”); UserIdentifier userIdentifier = new UserIdentifier(userObjectId, UserIdentifierType.UniqueId); DiscoveryClient discClient = new DiscoveryClient(SettingsHelper.DiscoveryServiceEndpointUri, async () => { var authResult = await authContext.AcquireTokenSilentAsync(SettingsHelper.DiscoveryServiceResourceId, clientCredential, userIdentifier); return authResult.AccessToken; }); var dcr = await discClient.DiscoverCapabilityAsync(capabilityName); return new OutlookServicesClient(dcr.ServiceEndpointUri, async () => { var authResult = await authContext.AcquireTokenSilentAsync(dcr.ServiceResourceId, clientCredential, userIdentifier); return authResult.AccessToken; }); } […]

如何设置有效的内部部署ADFS URI?

我有一个.NET 4.6.2 Windows客户端应用程序,它需要从我们的内部部署ADFS服务器获取身份validation令牌,并使用它来调用ASP.NET核心REST API。 它的客户端名称,id(GUID)和重定向URI已在ADFS中注册。 我正在使用最新的ADAL(v3.13)库来促进身份validation。 我试图获得一个令牌,如ADAL示例代码所示,如​​下所示: AuthenticationContext authenticationContext = new AuthenticationContext(“https:///”, false); var result = authenticationContext.AcquireTokenAsync(, clientId, redirectUri, new PlatformParameters(PromptBehavior.Auto)); AcquireTokenAsync调用返回错误,说: 基于浏览器的身份validation对话框无法完成。 原因:服务器未找到与请求的URI(统一资源标识符)匹配的任何内容。 谁能告诉我: 在https:///或错误中是否引用了“请求的URI”? 我是否需要以某种方式向ADFS注册或 ,如果是,如何? 我需要的任何其他信息才能使其工作? 谢谢! 彼得

ADAL.NET v3不支持使用UserCredential的AcquireToken吗?

在ADAL.NET 2.x中,我们使用以下代码使用UserCredential从Azure AD获取令牌,它完美地运行: var authContext = new AuthenticationContext(Authority); var userCredential = new UserCredential(username, password); var token = authContext.AcquireToken(ResourceUrl, ClientId, userCredential); 当我今天升级ADAL.NET v3时,代码无法再编译,因为在新版本中, UserCredential没有使用用户名和密码重载构造函数。 我如何使用新版本的ADAL.NET v3解决这个问题?

使用ADAL C#作为机密用户/守护程序服务器/服务器到服务器 – 401未经授权

参考未回答的问题: 401-使用REST API动态CRM与Azure AD进行未经授权的身份validation 和 Dynamics CRM Online 2016 – 守护程序/服务器应用程序Azure AD身份validation错误到Web Api 和 具有客户端凭据OAuth流的Dynamics CRM 2016 Online Rest API 我需要在azure云中的Web服务和Dynamics CRM Online 2016之间进行通信,而无需任何登录屏幕! 该服务将具有REST api,可触发CRM上的CRUD操作(我也将实现身份validation) 我认为这称为“机密客户端”或“守护程序服务器”或只是“服务器到服务器” 我在Azure AD中正确设置了我的服务(“委托权限=作为组织用户在线访问动态”,没有其他选项) 我在VS中创建了一个ASP.NET WEB API项目,它在Azure中创建了我的WebService,并在CRM的Azure AD中创建了“应用程序” 我的代码看起来像这样(请忽略EntityType和returnValue): public class WolfController : ApiController { private static readonly string Tenant = “xxxxx.onmicrosoft.com”; private static readonly string ClientId = “dxxx53-42xx-43bc-b14e-c1e84b62752d”; private […]