未从OAuth 2 Server Laravel接收refresh_token

时间:2014-03-18 07:36:50

标签: php oauth laravel laravel-4 oauth-2.0

我目前正在使用here

中的OAuth 2 Server Laravel

我正在使用client_credentialsrefresh_token作为grant_types

'grant_types' => array(

        'client_credentials' => array(
            'class'                 => 'League\OAuth2\Server\Grant\ClientCredentials',
            'access_token_ttl'      => 60,
        ),

        'refresh_token' => array(
            'class'                 => 'League\OAuth2\Server\Grant\RefreshToken',
            'access_token_ttl'      => 3600,
            'refresh_token_ttl'     => 604800,
            'rotate_refresh_tokens' => false,
        ),
    ),

当我从AuthorizationServer请求令牌时,我只收到此回复:

{
    "access_token": "0JpNT0vORf4HC2fTfvkssjS3SEPhfai2YRTgELIC",
    "token_type": "bearer",
    "expires": 1395127143,
    "expires_in": 60
}

您可以看到没有refresh_token回复,只有access_token。怎么解决这个?如何获得refresh_token

3 个答案:

答案 0 :(得分:2)

根据我的理解,客户端凭证授予无法返回刷新令牌,请参阅规范的section 4.4.3,其中涉及此特定授权的响应。

如果您需要刷新令牌,则需要使用其他授权类型。

答案 1 :(得分:0)

rotate_refresh_tokens设为true

答案 2 :(得分:0)

注意:刷新令牌授权将与以下授权中的另一个一起使用:AuthCodeGrant@DatabaseTable(tableName = Header.TABLE_NAME) public class Header extends Table { @DatabaseField( generatedId = true, columnName = HEADER_ID, dataType = DataType.LONG_OBJ ) private Long id; @ForeignCollectionField(orderColumnName = Binary.BINARY_ORDER, orderAscending = true) private Collection<Binary> binaries=new ArrayList<Binary>(); }