我正在尝试使用HTTP POST请求获取特定的用户OAuth2承载令牌,但似乎没有任何效果。
login_url = 'https://login.microsoftonline.com/'
authorize_endpoint = '{0}{1}{2}'.format(login_url,config.tenant_id,'/oauth2/authorize')
bodyvals = {'client_id': config.client_id,
'client_secret': config.client_secret,
'grant_type': 'client_credentials',
'resource':config.resource_endpoint}
return requests.post(authorize_endpoint, data=bodyvals)
上面的代码有效,但是代表应用程序生成令牌。
我似乎找不到传递用户凭据的方法,也没有任何文档。
通常,我不在乎答案是使用Python还是Powershell还是只是一般性的解释,我只是似乎不了解如何使用AAD正确地做到这一点。
您必须使用grant_type=password
并调用oauth2/token
端点。这是用于身份验证的C#版本:
private async Task<string> GetAccessToken()
{
string tokenEndpointUri = Authority + "oauth2/token";
var content = new FormUrlEncodedContent(new []
{
new KeyValuePair<string, string>("grant_type", "password"),
new KeyValuePair<string, string>("username", Username),
new KeyValuePair<string, string>("password", Password),
new KeyValuePair<string, string>("client_id", ClientId),
new KeyValuePair<string, string>("client_secret", ClientSecret),
new KeyValuePair<string, string>("resource", PowerBiResourceUri)
}
);
using (var client = new HttpClient())
{
HttpResponseMessage res = await client.PostAsync(tokenEndpointUri, content);
string json = await res.Content.ReadAsStringAsync();
AzureAdTokenResponse tokenRes = JsonConvert.DeserializeObject<AzureAdTokenResponse>(json);
return tokenRes.AccessToken;
}
}
在请求中,您必须指定:
问题内容: 我想使用jarsigner对jar进行签名,然后使用Java应用程序对其进行验证,该Java应用程序没有将签名的jar作为其类路径的一部分(即,仅使用jar的文件系统位置) 现在我的问题是从罐子中取出签名文件,有没有简单的方法可以做到这一点? 我玩过Inflater和Jar InputStreams并没有运气。 还是可以通过更好的方式来实现? 谢谢 问题答案: 《安全提供程序实施指南》
> 步骤: request=oauthClientRequest.AuthorizationProvider(OAuthProviderType.google)//AuthorizationProvider(OAuthProviderType.google).setState(OAuth.oauth_state).setResponseType(Oauth.oauth_code).setreDir
我有一个较大的代码库,包含许多装饰器类,它们通常将除一个方法外的所有方法委托给一个委托对象,例如: 现在,我正在使用Junit 5为这些包装创建单元测试,调用上的每个方法,并希望验证包装委托上是否有调用,这是一个Mockito mock。 以下是我目前的代码: 当我运行这个,我得到的错误是: 我是否做错了什么,或者如果您不知道确切的方法,是否无法验证方法调用?
问题内容: 如何以编程方式向Google进行身份验证?现在不推荐使用ClientLogin(https://developers.google.com/accounts/docs/AuthForInstalledApps),我们如何使用OAuth2对Google执行编程身份验证? 使用ClientLogin,我们可以 使用电子邮件和密码参数在https://www.google.com/accou
我如何以编程方式验证Google?既然ClientLogin(https://developers.Google.com/accounts/docs/authforinstalledApps)已被否决,那么我们如何使用OAuth2对Google执行编程身份验证呢? 使用ClientLogin,我们可以使用电子邮件和密码参数执行到https://www.google.com/accounts/Cli
问题内容: 我想在注册过程结束后立即登录用户,而无需通过登录表单。 这可能吗 ?我已经找到了的解决方案,但是我没有在我实际从事的项目中使用它。 这是我的security.yml,我正在使用两个防火墙。纯文本编码器仅用于测试。 问题答案: 是的,您可以通过类似于以下内容的方式执行此操作: 当您在上下文中设置令牌时,最后不会自动触发事件,而通常在使用登录表单或类似方法时触发。因此,将其包含在此处的原因
问题内容: 作为单元测试的一部分,我想调用限于错误信号部分的pylint检查器。因此我检查了pylint可执行脚本,进入了helper类,在那里我迷失了一个很长的函数,最后以调用。 有人尝试过并设法这样做吗? 梦想计划是这样的: 有什么提示吗?除了“复制方法并跳过”之外,我的意思是? 我并不 需要 通过运行测试,它也可能是或其他软件:随时提出替代方案。谢谢! 问题答案: 看一下,其中包含以编程方式
是否有一种编程(基于属性)的方法在Spring引导(1.2.2)中禁用RabbitAutoConfiguration。 看起来像Spring。rabbitmq。dynamic=false仅禁用AmqpAdmin,而不禁用连接工厂等。 我们想要一个模型,其中应用程序属性可以来自Spring Cloud config(包括控制总线)或通过-D jvm args。这个决定是在部署时做出的。当属性来自-D