2015-02-15 4 views
1

Я недавно использовал baas apigee, а также посмотрел на край. Я знаю, что если я позвоню своей конечной точке baas/token с именем пользователя и паролем, я, очевидно, смогу получить действительный токен доступа для пользователя. Однако у этого нет токена обновления, и пользователь должен будет снова войти в систему в зависимости от того, что такое TTL. Теперь я заметил, что в настройках apegee edge и oauth вы можете получить доступ для обновления токенов, но я не могу понять, как настроить это с помощью Apigee BAAS в качестве моего поставщика удостоверений. Я успешно создал новый oauth-прокси. Сначала я извлекаю имя пользователя и пароль из запроса. Затем я назначаю их новой служебной оговорке, которая попадает на мой BAAS. Это успешно возвращает правильные данные пользователя и действительный токен доступа BAAS.токены доступа apigee с apigee как поставщик идентификационных данных

На данный момент я использую стандартную политику GenerateAccessToken

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<OAuthV2 async="false" continueOnError="false" enabled="true" name="OAuth-v20-1"> 
<DisplayName>OAuth v2.0 1</DisplayName> 
<FaultRules/> 
<Properties/> 
<Attributes/> 
<Operation>GenerateAccessToken</Operation> 
<ExpiresIn>8640000</ExpiresIn> 
<SupportedGrantTypes> 
    <GrantType>password</GrantType> 
</SupportedGrantTypes> 

<GrantType>grant_type</GrantType> 
<UserName>username</UserName> 
<PassWord>password</PassWord> 
<GenerateResponse enabled="true"/> 

</OAuthV2> 

всех переменные здесь установлены правильно. Но я также должен установить основной заголовок авторизации. Этот заголовок основан на кодированной base64 client_id и клиентской строке, связанной с моим приложением в краю. Однако токен доступа, который затем возвращается отсюда, не работает, если я пытаюсь вызвать конечную точку BAAS (даже когда проксирован через край), и данные «пользователя», которые возвращаются вместе с этим, относятся к пользователю, связанному с предоставленным client_id, а не пользователь, имя пользователя и пароль были отправлены (я знаю, что могу отменить ответ из моей служебной выноски, но это больше касается access_tokens, а не пользовательских данных). Я понимаю, почему это так, поскольку, очевидно, access_tokens выпускаются для разных ресурсов, но я думал, что эта настройка почти «управляет» этим за кулисами. Кто-нибудь сумел установить обновление токенов при использовании Apigee BAAS в качестве поставщика удостоверений? Или я лаяю неправильное дерево?

Благодаря

ответ

0

Взгляните на образец прокси на https://github.com/apigee/api-platform-samples/tree/master/sample-proxies/advanced-api-services и посмотреть, если это помогает ... выборочные хранит в BAAS ключ/секрет как атрибуты на объекте Developer Apigee Эдж (штрафа для образца, но по общему признанию не очень хорошая производственная практика), но вы можете просто хранить их в защищенном хранилище Apigee (http://apigee.com/docs/api-reference/api/vaults)

В это время BaaS не поддерживает токены обновления.

+0

Я отмечу это как правильное, технически все, что мне нужно знать, это BaaS не поддерживает обновления токенов. Немного позора, но, надеюсь, это то, что они будут реализовывать – TommyBs