Tag: azure active directory

在MS Bot Framework机器人中获取Azure Active Directory用户的数据

我在Azure帐户上部署了一个用Node.js编写的Cortana机器人。 僵尸程序使用Cortana通道并打开“Connected Services”(所以我可以使用Azure Active Directory中的帐户login僵尸工具)。 login工作正常。 我的问题是,现在我不知道如何获得有关login的用户(例如电子邮件地址)在我的机器人的信息。 我猜我需要从会话数据中获取一些令牌,然后发送一个API请求,请求Azure获取用户的数据? Node.js有这个botauth的例子,但是运行它的指令已经过时了。

Microsoft Azure Active Directory Passport身份validation

贝娄的代码运行良好,但是当授权头来自php代码的空令牌(eg-'Authorization:bearer')时,node.js应用程序会崩溃。 我正在使用“passport-azure-ad”节点模块。 我与邮政人检查,它是validation令牌,但是当请求来自PHPcurl请求,应用程序崩溃。 其原因是,http头在“passport-azure-ad”节点模块中设置了两次。 我无法捕捉到这个错误。 router.get('/getUser', passport.authenticate('oauth-bearer', { session: false, tenantIdOrName: TENANT }), function (req, token, done) { // Send response }); 崩溃错误跟踪 – _http_outgoing.js:356抛出错误('发送后不能设置标题'); ^ 错误:发送后无法设置标题。 在\ node_modules \ passport \ lib \ middleware \ authenticate.js:156:13) PHP代码=> $headers = array ('Authorization: bearer ' . $Requestheader['id_token']); $ch = curl_init (); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true […]

Azure广告v2Endpoint是否支持Microsoft Graph以外的其他API访问?

我从https://azure.microsoft.com/en-us/resources/samples/active-directory-javascript-nodejs-webapi-v2/克隆了节点web api 在v2应用程序注册门户中注册了一个应用程序,添加了webapi平台,并设置了隐式stream程集的web应用程序 当我浏览到https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=5bab650d-e96c-4f30-a7e2-e6bbab2e7ab1&response_type=code&redirect_uri=http://localhost:5000/hello&response_mode=query&scope= API%3A%2F%2F5bab650d-e96c-4f30-a7e2-e6bbab2e7ab1%2Faccess_as_user%20openid%20offline_access 浏览器被redirect到 本地主机:5000 /你好错误= invalid_client&ERROR_DESCRIPTION = AADSTS65005%3A +的+应用+%27hand2%27 +要求+为+范围+%27openid%27 +是+没有按%27吨+存在+上+中+资源+联系方式+的。 +应用+供应商。%0D%0aTrace + ID%3A + 4b3bdc12-9c1c-448B-ABBB-704e9af80d00%0D%0aCorrelation + ID%3A + 27afcaf6-CDAC-428A-8c6b-7087ff8b34ef%0D%0aTimestamp%3A + 2017- 10-11 + 00%3a41%3a40Z 任何想法 ?

Azure AD v2.0身份validation响应中的ERR_TOO_MANY_REDIRECTS错误

我正在使用Microsoft Graph从Node.js Web应用程序中访问用户的Microsoft帐户数据,以调用其余的API。 但是,一旦完成身份validation,而不是返回到ReturnURL ,我在浏览器中获取ERR_TOO_MANY_REDIRECTS 。 下面是我正在使用的Node应用程序: https://github.com/microsoftgraph/msgraph-sdk-javascript 正如我所看到的,这似乎是一些如何访问令牌冲突和由于该护照无法validation我的请求。 有人可以帮我在这里,我在这里失踪。 我没有做任何重大的应用程序的变化。 请让我知道如果有人需要更多的信息。 谢谢。

Azure AD – 检查安全组成员资格 – (Node.js,护照,Azure Web App)

我们正试图build立一个authentication/授权过程,具有以下要求: 身份validation:由Azure AD完成。 授权:只有特定安全组的成员应该被允许访问该应用程序。 虽然validation部分似乎没有问题,我们被困在授权部分。 我们正在使用快递和护照。 Azure AD一些令牌请求req.headers ,例如 X-MS-令牌AAD-访问令牌 X-MS-令牌AAD刷新令牌 X-MS-令牌AAD-ID令牌 目前,我们正在使用id-token和passport-azure-ad BearerStrategy来检查用户的安全组是否符合允许的安全组。 问题是:一旦id令牌过期,应用程序不会让我们访问应用程序。 假设在护照中设置{session: true}可以解决这个问题,我们启用了会话,但没有运气。 做了一些更多的研究,我发现这篇文章: 如何在Web应用程序中从Azure AD刷新ID令牌? ,它表示只有访问令牌可以被刷新,但ID令牌不能也不应该。 检查x-ms-token-aad-access-token和x-ms-token-aad-refresh-token ,我们发现它们没有JWT结构,例如 eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1THdqcHdBSk9NOW4tQSJ9.eyJhdWQiOiJodHRwczovL.JZw8jC0gptZxVC-7l5sFkdnJgP3_tRjeQEPgUn28XctVe3QqmheLZw7QVZDPCyGycDWBaqy7FLpSekET_BftDkewRhyHk9FW_KeEz0ch2c3i08NGNDbr6XYGVayNuSesYk5Aw_p3ICRlUV1bqEwk-Jkzs9EEkQg4hbefqJS6yS1HoV_2EsEhpd_wCQpxK89WPs3hLYZETRJtG5kvCCEOvSHXmDE6eTHGTnEgsIk–UlPe275Dvou4gEAwLofhLDQbMSjnlV5VLsjimNBVcSRFShoxmQwBJR_b2011Y5IuD6St5zPnzruBbZYkGNurQK63TJPWmRd3mbJsGM0mf3CUQ 他们不包含任何点,因此没有通过智威汤逊validation。 导致以下问题: 根据指定的允许安全组检查用户安全组的正确方法是什么?

微软的广告b2c问题:政策缺失

我做了一个聊天机器人,我想授权用户使用OIDCStrategy使用Azure广告b2c。 在控制台中, authentication failed due to: In collectInfoFromReq: policy is missing ,它始终loggingauthentication failed due to: In collectInfoFromReq: policy is missing 。 该政策已在Azure中设置。 而且我找不到在代码中声明策略的地方。 这是我的服务器: server.get('/login', passport.authenticate('azuread-openidconnect', { failureRedirect:'/fail' }), function(req,res,next){ console.log('Login was called'); res.redirect('/',next); } ) server.post('/api/auth', passport.authenticate('azuread-openidconnect')); 并连接到azure色广告b2c: passport.use(new OIDCStrategy({ redirectUrl:'http://localhost:3978/api/auth', allowHttpForRedirectUrl:true, clientID:'5fe844d7-e4d1-4c4c-ba70-078297b00abc', clientSecret:'?aTvTEbwcNfUF2,^', identityMetadata: 'https://login.microsoftonline.com/nuffieldbot.onmicrosoft.com/v2.0/.well-known/openid-configuration', skipUserProfile: true, responseType: 'code', responseMode: 'form_post', isB2C:true, scope:['email','profile','offline_access','https://outlook.office.com/mail/read'], […]

如何模拟服务的用户令牌服务调用

我的应用程序结构是Web应用程序调用一个WebAPI(让我们称之为apiA),并调用另一个API(让我们称之为apiB)。 现在,Web应用程序通过AAD JWT令牌对呼叫进行身份validation。 所以,这个标记将为apiA创build。 但我想api调用apiB作为login用户,并不想使用客户端的秘密等 所以,简而言之,就是要模拟用户,并从为apiA创build的令牌获取apiB的标记,或者可能有一个令牌,这对apiA和apiB都有好处。 所以,我不必得到一个新的令牌。 有没有办法做到这一点?

Nodemailer无效login:451 4.7.0临时服务器错误

我正尝试使用oauth2从office 365 outlook帐户发送一封电子邮件 但我得到以下错误 Invalid login: 451 4.7.0 Temporary server error. Please try again later. PRX4 [MA1PR01CA0110.INDPRD01.PROD.OUTLOOK.COM] 这是我的代码 let sendEmail: (accessToken) => { return new Promise((resolve, reject) => { let options = { "to": "xxx", "subject": "hello from nodemailer", "text": "Hello from nodemailer again" "from": 'xxx' } let transporter = nodemailer.createTransport({ host: 'smtp.office365.com', port: 587, […]

如何使用Azure ADvalidationVueJS应用程序?

我正在使用VueJS 2.x框架设置应用程序,并需要通过Azure Active Directory服务对用户进行身份validation。 我已经有了“login信息”(Auth和Token URLs)这个服务。 到目前为止,我只遇到一篇文章 ,显示VueJS中的设置,但它依赖于第三方服务(Auth0) – 在此过程中增加了不必要的卷积。 当没有任何VueJS npm模块可以轻松进行身份validation时,如何继续? 还是必须依赖Adal JS之类的Vue之外的图书馆? 任何的意见都将会有帮助。

有没有人成功地使用Azure AD对Node.js Web应用程序的用户进行身份validation?

我正尝试使用Azure Active Directory为我的node.js Web应用程序validation用户,到目前为止没有运气。 我想知道是否有人实际上已经实现了,因为文档是相当差的。 通常有典型的代码,但并不真正表明所需的参数是什么以及它们应该是什么。 我已经尝试过passport-azure-ad(我认为是来自Microsoft)和passport.azure-ad-oauth2(来自Auth0(?))。 对于passport-azure-ad,我尝试了BearerStrategy和OIDCStrategy,没有运气。 对于BearerStrategy,我得到了一些关于我的客户端和资源的神秘消息来识别同一个应用程序,但由于没有文档告诉我应该是什么,所以我很茫然。 对于OIDCStrategy,我稍微接近一点,因为我redirect到Microsoft进行身份validation,但返回时出现错误“错误:ID令牌不存在于响应中”。 我猜我的要求是不正确的,无论出于什么原因都给我一个回报,但是因为没有文件…(你明白了)。 无论如何,如果有人已经成功地实现了这个目标,并且能够分享一些关于它是如何实现的,那将是很棒的。 非常感谢。