yii2, google outh2 and scope(yii2、google outh2 和范围)
问题描述
我正在使用 Yii2、GoogleOAuth 和 yii2-user 扩展.我想接收用户谷歌圈子并将范围设置为我的配置:
'authClientCollection' =>['类' =>'yiiauthclientCollection','客户' =>['谷歌' =>['类' =>'yiiauthclientclientsGoogleOAuth','clientId' =>'758709912345-p4qp4lqihit5un1u6qb75msqp5m5j6d8.apps.googleusercontent.com','clientSecret' =>'ZygOIi1-0asfktUQ1pKOFOo','范围' =>'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/drive',],],]当我使用 Google OAuth2 登录时出现错误:
<块引用>异常 – yiiauthclientInvalidResponseException请求失败,代码:400,消息:{错误":redirect_uri_mismatch"}
谷歌回复:
<预><代码>['网址' =>'https://accounts.google.com/o/oauth2/token''content_type' =>'应用程序/json''http_code' =>400'header_size' =>435'request_size' =>644'文件时间' =>-1'ssl_verify_result' =>0'redirect_count' =>0'total_time' =>0.115431'namelookup_time' =>0.001186'connect_time' =>0.025188'pretransfer_time' =>0.076275'size_upload' =>456'size_download' =>39'speed_download' =>337'speed_upload' =>3950'download_content_length' =>-1'upload_content_length' =>456'starttransfer_time' =>0.114206'redirect_time' =>0'证书信息' =>[]'primary_ip' =>'2a00:1450:4010:c08::54''primary_port' =>443'local_ip' =>'2a03:6f00:1::5c35:726b''local_port' =>33160'redirect_url' =>'']
当我从配置 Google+ 范围中删除时(https://www.googleapis.com/auth/plus.login) 授权没有错误,谷歌的回应是:
<预><代码>['网址' =>'https://accounts.google.com/o/oauth2/token''content_type' =>'应用程序/json;字符集=utf-8''http_code' =>200'header_size' =>522'request_size' =>526'文件时间' =>-1'ssl_verify_result' =>0'redirect_count' =>0'total_time' =>0.13719'namelookup_time' =>0.001212'connect_time' =>0.026261'pretransfer_time' =>0.079765'size_upload' =>338'size_download' =>900'speed_download' =>6560'speed_upload' =>2463'download_content_length' =>-1'upload_content_length' =>338'starttransfer_time' =>0.136241'redirect_time' =>0'证书信息' =>[]'primary_ip' =>'2a00:1450:4010:c08::54''primary_port' =>443'local_ip' =>'2a03:6f00:1::5c35:726b''local_port' =>37583'redirect_url' =>''
]
问题仅在 https://www.googleapis.com/auth/plus.login 中.我启用的 API:http://minus.com/lJ5nw7caXJApD
您还可以在身份验证客户端配置中显式添加 returnUrl
.查看文档了解更多信息.
I am using Yii2, GoogleOAuth and yii2-user extension. I want to receive user google circles and set scope to my config:
'authClientCollection' => [
'class' => 'yiiauthclientCollection',
'clients' => [
'google' => [
'class' => 'yiiauthclientclientsGoogleOAuth',
'clientId' => '758709912345-p4qp4lqihit5un1u6qb75msqp5m5j6d8.apps.googleusercontent.com',
'clientSecret' => 'ZygOIi1-0asfktUQ1pKOFOo',
'scope' => 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/drive',
],
],
]
When I login with Google OAuth2 I had error:
Exception – yiiauthclientInvalidResponseException Request failed with code: 400, message: { "error" : "redirect_uri_mismatch" }
Google response:
[
'url' => 'https://accounts.google.com/o/oauth2/token'
'content_type' => 'application/json'
'http_code' => 400
'header_size' => 435
'request_size' => 644
'filetime' => -1
'ssl_verify_result' => 0
'redirect_count' => 0
'total_time' => 0.115431
'namelookup_time' => 0.001186
'connect_time' => 0.025188
'pretransfer_time' => 0.076275
'size_upload' => 456
'size_download' => 39
'speed_download' => 337
'speed_upload' => 3950
'download_content_length' => -1
'upload_content_length' => 456
'starttransfer_time' => 0.114206
'redirect_time' => 0
'certinfo' => []
'primary_ip' => '2a00:1450:4010:c08::54'
'primary_port' => 443
'local_ip' => '2a03:6f00:1::5c35:726b'
'local_port' => 33160
'redirect_url' => ''
]
When I removed from the configuration Google+ scope(https://www.googleapis.com/auth/plus.login) authorization go with out error and Google response is:
[
'url' => 'https://accounts.google.com/o/oauth2/token'
'content_type' => 'application/json; charset=utf-8'
'http_code' => 200
'header_size' => 522
'request_size' => 526
'filetime' => -1
'ssl_verify_result' => 0
'redirect_count' => 0
'total_time' => 0.13719
'namelookup_time' => 0.001212
'connect_time' => 0.026261
'pretransfer_time' => 0.079765
'size_upload' => 338
'size_download' => 900
'speed_download' => 6560
'speed_upload' => 2463
'download_content_length' => -1
'upload_content_length' => 338
'starttransfer_time' => 0.136241
'redirect_time' => 0
'certinfo' => []
'primary_ip' => '2a00:1450:4010:c08::54'
'primary_port' => 443
'local_ip' => '2a03:6f00:1::5c35:726b'
'local_port' => 37583
'redirect_url' => ''
]
Problem only in https: //www.googleapis.com/auth/plus.login . My enabled APIs: http://minus.com/lJ5nw7caXJApD
You can also add returnUrl
explicitly in your auth client configuration. Look at docs for more info.
这篇关于yii2、google outh2 和范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:yii2、google outh2 和范围
基础教程推荐
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- PHP 守护进程/worker 环境 2022-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 使用 PDO 转义列名 2021-01-01