2017-09-25 8 views
1

Uber iOS SDKでカスタム認証を使用していて、iOSコードにAccessTokenを作成できません。Uber iOS SDKでtokenStringからAccessTokenを作成できない

let jsonString = //response from server as above 
let accessToken = AccessToken(tokenString: jsonString) 

マイアクセストークンが作成されます。

{ 
"access_token":"token here", 
"expires_in":2592000, 
"token_type":"Bearer", 
"scope":"all_trips request", 
"refresh_token":"refresh token here", 
"last_authenticated":0 
} 

が、私はそのようにように、AccessToken初期化子にこれを渡します。これは私が有効なアクセストークンと思われるものを私のサーバーから取得応答です(すなわち、nilではない)が、関連するプロパティのどれもが読み込まれません。

accessToken //non-nil 
accessToken.expirationDate //nil 
accessToken.refreshToken //nil 

奇妙、accessToken.tokenStringは、上からオリジナルjsonStringを含有します。

何か間違っていますか?ユーバープロジェクトのAccessToken.swiftソースファイルを掘り

編集 、私はこれを見つける:それは実際にrefreshTokenを作成したことがないように

@objc public init(tokenString: String) { 
     super.init() 
     self.tokenString = tokenString 
    } 

に思えるなど

答えて

1

tokenStringをするためのものですあなたが観察したように、アクセストークン自体であってもかまいません。 JSON自体を解析する場合は、モデルがDecodableプロトコルに準拠していることを使用して、そのメソッドを通じてJSONを渡すことをお勧めします。

let decoder = JSONDecoder() 
decoder.dateDecodingStrategy = .secondsSince1970 
let accessToken = try? decoder.decode(AccessToken.self, from: jsonData) 
// If you need to convert a string to data, use String.data(using: .utf8)! 
+0

ありがとうございました! –

関連する問題