apis.live.net/v5.0 - Как проверить токен на сервере
У меня есть сервер ресурсов (REST) (написанный на Java/Spring), который мне нужен для проверки токена Microsoft от клиента. Мне необходимо:
- Убедитесь, что токен действителен для моего приложения
- Получить адрес электронной почты токена и найти этого пользователя в моем приложении (я могу это сделать)
В настоящее время я использую 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}
Что я использую для жизни?
Мне нужно что-то, что возвращает идентификатор моего приложения, чтобы я мог убедиться, что токен был создан моим приложением.
Я могу получить информацию о пользователе из токена просто отлично (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, представляют собой веб-токены JSON (JWT) в кодировке 64.
Однако, когда я пытаюсь декодировать токен с помощью 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/ Д +aHbE6mEnEvQMiavB0nrh0gTAydrBkkWuY3zbuQaQFE96/i3yWad8j0A0cU8/YquXFBo6k1oD0dWOKNOQ9x+Dad7W3yFEB2gF9jZtxU5OdV4S3uRmdqyaj2kGVI2eVrX4/13f97tKA3a2ZIF7ZUZKgpwNybOrz9COAilxZvr3Z+X1jTdTYOXWMs8tuOOpru2g64sZUzgtj0JETWJcHfg9yLC72DSaAFzDR/KRa2u+C7XGaywIPEqoUs/4iRaLc5RPtdRlLHCp0rgmIlMc0/iwR7K6N2Q5odVP7QzxlBNtGW51iHNCFgRDrQ8zNkv2hdexxt7Of2i+lqe2N3Z3ENUoQa6SRBYzFDPOka+Mr5qWVxeMeulYmXFkBh0NyKaLJIqrkSMy0C