问题标签 [microsoft-live-connect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1454 浏览

java - Microsoft Live Connect for Bing Ads OAuth 2.0 无浏览器

我的总体目标是能够使用 bing ads API 自动下载每日报告。为此,我需要使用 OAuth 进行身份验证(旧的 PasswordAuthentication 方法不起作用,因为我有一个新的 microsoft 帐户)。我已经手动通过“授权码授予流程”并成功授权自己。问题是:

  • 令牌仅在 1 小时内有效
  • 当令牌过期时,该过程要求用户再次使用网络浏览器手动登录并重新允许应用访问

这是使用 OAuth 的示例桌面应用程序

有人知道吗

  • 更合适的身份验证方式?
  • 还是绕过用户交互的方式?

解决方案:

正如@eric urban 所提到的,只需手动授权一次。之后,刷新令牌就可以了。(仅查看​​示例桌面应用程序并不是很明显!)

我编写了一个类来处理所有 OAuth 内容并将刷新令牌保存到文件中

在您的应用程序中使用它,例如:

0 投票
0 回答
35 浏览

oauth - Microsoft Live 应用程序多个域

我有一个在一台服务器上运行的 Web 应用程序,但多个域(如 ab.c、ab.c、ab.d、ab.d 等)都指向该应用程序。我想使用其他系统(例如 Google、Facebook、Microsoft)的身份验证。Google 和 Facebook 运行良好,但 Microsoft Live 似乎每个应用程序只允许一个域。那是对的吗?如果是,如何处理?这是否意味着我必须在 MS 开发者网站上创建单独的应用程序,并且我必须根据用户的推荐人选择不同的客户端 ID 进行身份验证?

0 投票
1 回答
116 浏览

php - Microsoft Live Connect OAuth API 停止在用户信息中返回电子邮件

我正在使用这个库https://github.com/siftware/live-connect使用 PHP Microsoft Live Oauth 签名,它曾经运行良好,但现在我注意到,一旦我登录并请求个人资料信息,我就没有得到任何信息,只有用户 ID。

通过我的测试实时登录,我应该至少收到电子邮件,但我没有从实时 api 获得它。

  • 我请求必要的范围: $liveConnect->setScopes("wl.emails, wl.signin, wl.basic");

  • 我在https://account.microsoft.com/上查看了我的实时个人资料,确实我在那里的名字是空的,但是电子邮件已填满并且应该可用(过去它就像我说的那样工作)。

  • 我检查了我的真实帐户和某个 Web 应用程序的应用程序隐私设置,我看到权限已成功请求和授予。这意味着授予以下权限:

    • 访问您的电子邮件地址
    • 查看您的个人资料信息和联系人列表
    • 自动登录

那么为什么 live oauth api 停止发送我帐户的电子邮件信息?

也许 api 改变了并且改变没有反映在库中,我会检查它 - 似乎它仍然是实际的。

0 投票
2 回答
783 浏览

visual-studio - 如何从 Power BI Desktop 实时连接到 SQL Server Analysis Services?

我正在使用 Power BI Desktop 并尝试在 Visual Studio 2017 中创建到 Analysis Services 表格模型的实时连接(非标准导入)。

在 Power BI Desktop 中,我按获取数据 -> 分析服务。

在此处输入图像描述

我使用 Power BI Desktop 的凭据与 Visual Studio 中的 Analysis Services 模型中的凭据相同。

我使用 Microsoft SQL Server 2017 (RTM)。

我错过了什么?

0 投票
0 回答
490 浏览

c# - apis.live.net/v5.0 - 如何在服务器上验证令牌

我有一个资源 (REST) 服务器(用 Java/Spring 编写),我需要验证来自客户端的 Microsoft 令牌。我需要:

  1. 检查令牌是否对我的应用有效
  2. 获取令牌的电子邮件地址并在我的应用程序中查找该用户(我可以这样做)

我目前使用 Google、Facebook 并正在添加 Windows 身份验证。

对于 Google,我在以下位置检查我的令牌:

https://www.googleapis.com/oauth2/v3/tokeninfo?access_token= {accessToken}

对于 Facebook,我使用:

https://graph.facebook.com/debug_token?input_token= {accessToken}&access_token={appId}|{appSecret}

我用什么直播?

https://apis.live.net/v5.0/ ????

我需要一些可以返回我的应用程序 ID 的东西,这样我才能确保令牌是由我的应用程序创建的。

我可以从令牌中获取用户信息(URL 是https://apis.live.net/v5.0/me?access_token={accessToken}),但它不允许我验证用户是否适用于我已注册的应用程序。

这里的令牌验证方案是什么?它不是 JWT 令牌,因为它没有任何 '.' 里面的人物...

根据此https://developer.microsoft.com/en-us/graph/docs/concepts/auth_overview

Azure AD 颁发的访问令牌是基于 64 位编码的 JSON Web 令牌 (JWT)。

但是,当我尝试对我的令牌进行 base64 解码时,它是二进制的。 https://apis.live.net/v5.0/me不过,这表明它是一个有效的令牌。

这是一个过期的令牌:

EwAwA61DBAAUcSSzoTJJsy+XrnQXgAKO5cj4yc8AAfD7xbB6agxt1xZJhCeONQNzKUS97NgwifhSev98+2Boa/kdgnR/hk6KzNBiFz0mNsPWQrEhTsQRbta9QyGGezyVhpYLtMbWbWHUhNh/lY3w31x/5yeuUmw/ITXwu7Qk3L8t3ESzYoy9NCJT7AzkFHf6hUgDg5lNeFbwZD5mFe3Y6NH3p3kYHDBJwDHO7VN+AlTCWc3z1n06NSxQOisOjZYZ3YrWhdaffMZ9yaBfRYcSLvBLeA8u//jfhIdunfPXQyaXnNEHp3GAlVASPcskQnRmZHIz9IcqE9ZZPpXNHcgz36UIKV1aqkDGnYIqzDsAqvmICN3tWJhrabFfPC00yUIDZgAACM68oajVfXdPAAKTFEdhizTgVDOWT7yytFJCHesQFy3yfKiJ+/lANntrgT0peCZt6cHsS1iqdF7A3WMhFc4hQP7kV29PCPTouLyNj8Ygcnl024H3usPbBqCqDrRsNNjJAdKkR2Cni9Kchw/i02NfC+DUy2LmUBTb5oHZXG7zx21K+l/HBbOUn0VRb4l+rsx7CTiabu1s3cdCrmhDDuIwWv2W8Id6Y6VBYs6zddHRY58B1YRZSQevcsT05xehrebS40E+Pyy/Z9vJXb2FTM+pY1+HvtPpxqxqn73Bp3wX1A8YH8Lbe4J/J+aHbE6mEnEvQMiavB0nrh0gTAydrBkkWuY3zbuQaQFE96/i3yWad8j0A0cU8/YquXFBo6k1oD0dWOKNOQ9x+Dad7W3yFEB2gF9jZtxU5OdV4S3uRmdqyaj2kGVI2eVrX4 /13f97tKA3a2ZIF7ZUZKgpwNybOrz9COAilxZvr3Z+X1jTdTYOXWMs8tuOOpru2g64sZUzgtj0JETWJcHfg9yLC72DSaAFzDR/KRa2u+C7XGaywIPEqoUs/4iRaLc5RPtdRlLHCp0rgmIlMc0/iwR7K6N2Q5odVP7QzxlBNtGW51iHNCFgRDrQ8zNkv2hdexxt7Of2i+lqe2N3Z3ENUoQa6SRBYzFDPOka+Mr5qWVxeMeulYmXFkBh0NyKaLJIqrkSMy0C

0 投票
1 回答
307 浏览

laravel - 如何在 laravel 中使用 xbox 登录时定义 XBOX 的范围

这是代码:

这是我在 microsoft azure 帐户中创建的范围。

范围=服务::user.auth.xboxlive.com::MBI_SSL

但是当使用 xbox 打开登录页面时出现以下错误。

https://example.com/sign-in?error=invalid_scope&error_description=The%20provided%20value%20for%20the%20input%20parameter%20%27scope%27%20has%20not%20been%20pre-authorized%20for%20this% 20client%20application.&state=ClientStateGoesHere

0 投票
1 回答
120 浏览

powerbi - 如何通过 Power BI 中的实时连接预过滤数据?

我们有一个要求,例如在实时连接上连接到 JIRA 数据库并在加载到 Power BI 之前预过滤数据,但是在实时连接中,DAX 查询选项未启用。你能帮忙吗