2

我有一个资源 (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

4

0 回答 0