2014-12-14 13 views
4

Google в настоящее время предоставляет на https://www.googleapis.com/oauth2/v2/certs следующие значения сертификатаGoogle OAuth2 API JWS соответствия

{ 
"keys": [ 
    { 
    "kty": "RSA", 
    "alg": "RS256", 
    "use": "sig", 
    "kid": "90adc60c0f9f503265a5ebc2c404c88e59882083", 
    "n": "u_EOLEKRMNuTA_UPh9R-LTQkF1TNGE6XRVbgvh081A5VtKNFe8b2CmoGvgrm_ochjX0robr8LwpOUSHO779yJANgvwuATHJ4SKYHzN2Gr0yBsC7MyL9CI_eXik4RGiNlEU6mgoy7GGnLtY5-A6OPo-I-4HEttP81LJrmSYh6Y2k=", 
    "e": "AQAB" 
    }, 
    { 
    "kty": "RSA", 
    "alg": "RS256", 
    "use": "sig", 
    "kid": "5886590f72b8e40668c55fa366c19efb2a22d635", 
    "n": "x9mePRk3StM-Tg32S_E8OyBYD8uIHhPPa6U8jkHbpnRf2jEImk1ndIwIoJQCrHl1IsKpY1j81fyQKul0u1Frvb-LFGFVY3L7zSR4hnwzuU_05JtKZRfK-87Kj8JVMJbt34SKRmUitPH4QA23b6g-ORUMYjqWgNWufV6OPy8GYNE=", 
    "e": "AQAB" 
    } 
] 
} 

Я пытаюсь получить доступ к API Google с помощью oic и jwkest, и получить ошибку

DeSerializationNotPossible: Not base64url encoded 

Проблема возникает из-за того, что параметры обоих ключей заканчиваются символом =. IIUC, они должны быть Base64URL закодированы в соответствии с JSON Web Algorighms draft, а Base64URL разделяет символы =, в соответствии с JSON Web Signature draft.

Является ли эта ошибка в библиотеках Python, которые я использую, или это действительно Google не соответствует спецификации? Если последнее: где я могу сообщить об этом?

+0

um wow. Лучшее место, которое я нашел, чтобы получить официальный официальный ответ, будет сообществом Google Oauth2 в Google+ https://plus.google.com/u/0/communities/107137198518854169493. Из того, что я слышал, на самом деле нет dev команда для Oauth2 сейчас считается стабильной. Я не нашел места, в котором возникают проблемы с отчетами. попробуйте G + кто-то, возможно, сможет помочь, если не вижу, могу ли я найти кого-то, кто будет пинговать в google. – DaImTo

+0

хорошая находка; До сих пор у меня не было проблем с этим, потому что я использую клиенты, которые внедрили метод заполнения, который не сломается на нем; он, безусловно, не соответствует мне –

+0

Оказывается, автор jwkest теперь отбросил проверку действительности из своей реализации. Итак, в следующем выпуске актуальная проблема должна исчезнуть. –

ответ

0

Вы правы, что Google не соответствует (теперь RFC) JWA и JWS с использованием обычного base64, а не base64url. Тем не менее, я считаю, что они уже были осведомлены об этой проблеме и исправили ее с новой версией конечной точки JWKS: https://www.googleapis.com/oauth2/v3/certs, которая имеет те же ключи, что и v2, но правильно закодирована для каждой спецификации. Вы должны иметь возможность использовать конечную точку v3 с библиотеками, которые вы используете.

 Смежные вопросы

  • Нет связанных вопросов^_^