Google API 인증을 위해 OAuthSwift
포드를 사용하고 있습니다. 콜백에서 새로 고침 토큰이 누락되었습니다. Google이 500 Server Error
을 반환하면서 사용자가 이미 인증 한 후에 새 토큰을 요청하려고하면 새로 고침 토큰을 저장하고 다음에 로그인 할 때 사용자를 인증하고 새 토큰을 검색하려고합니다.Google에서 새로 고침 토큰을 얻는 방법 데이터 API OAuth 2 iOS
let callback = "\(Bundle.main.bundleIdentifier ?? ""):/oauth2Callback"
_ = ytOAuth2Swift?.authorize(
withCallbackURL: URL(string: callback)!,
scope: "https://www.googleapis.com/auth/youtube", state: state,
success: { credential, response, parameters in
print("YouTube Access_Token \(credential.oauthToken)")
print("YouTube efreshR_Token \(credential.oauthRefreshToken)")
},
failure: { error in
print("ERROR: \(error.localizedDescription)")
}
)
이것은 우리가 돌아 가야 할 응답입니다 :
이 내 코드입니다!
{
"access_token":"1/fFAGRNJru1FTz70BzhT3Zg",
"expires_in":3920,
"token_type":"Bearer",
"refresh_token":"1/xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI"
}
내가 운이 내장 WebView
을 사용하지 않는 시도 :
[
안녕하세요 @ 카롤, 멋진 답변에 감사드립니다. 나는 내가 개발할 수있는 유일한 방법은 접근권을 계속 취소하는 것인데, 그렇지 않다면 나는'access_token'을주지 않는다. D.'access_type = offline'을 시도해보고 알려 드리겠습니다. –
환영합니다 :) 어쨌든 Google의 refresh_token은 만료되지 않으므로 원하는만큼 많은 access_tokens를 사용할 수 있습니다. –
안녕하세요 @ 카롤, 폐지 후, 심지어 새 Google 애플 리케이션을 만들 때, API는 refresh_token을 제외한 3 개의 매개 변수 만 반환합니다. 많은 감사합니다 –