我正在尝试使用Google oauth 2.0获取访问令牌,但是每当我再次登录时,它都会经过同意屏幕的过程并生成一个新令牌。
这就是我获取访问令牌的方式。
Uri.https("accounts.google.com", '/o/oauth2/auth', {
'response_type': 'code',
'client_id': identifier,
'redirect_uri': '$REDIRECTURL',
'scope': 'https://www.googleapis.com/auth/youtube.readonly',
});
然后:
response = await http.post("https://oauth2.googleapis.com/token", body: {
'client_id': identifier,
'redirect_uri': '$REDIRECTURL',
'grant_type': 'authorization_code',
'code': code,
});
答案 0 :(得分:1)
恐怕就是令牌的工作原理:每问一个,就会得到一个新的令牌。只需将访问和刷新令牌(需要在到期时刷新访问令牌)存储在您的身边,如果不需要,则不要启动OAuth。
答案 1 :(得分:1)
有参数 setApprovalPrompt = auto / force
Force 会导致它每次都会询问访问范围。
自动不会询问,但是如果你之前已经收到过,你不会得到“refresh_token”,你只会得到有效期为1小时的“access_token”