Cognito Facebook社交登录与Angular 6:如何使用返回的代码在amplify Auth中对用户进行身份验证
我有一个angular 6应用程序,正在尝试将social signin(facebook)配置为amplify from the docs 我实现了所需的步骤,然后生成了触发托管登录的urlCognito Facebook社交登录与Angular 6:如何使用返回的代码在amplify Auth中对用户进行身份验证,angular,amazon-cognito,aws-amplify,Angular,Amazon Cognito,Aws Amplify,我有一个angular 6应用程序,正在尝试将social signin(facebook)配置为amplify from the docs 我实现了所需的步骤,然后生成了触发托管登录的url https:///login?response_type=code&client_id=&redirect_uri=https://www.example.com 这将我重定向到facebook,然后用url中的代码按预期重定向回我的站点 https:///browse?code=1bfabc0e-f4
https:///login?response_type=code&client_id=&redirect_uri=https://www.example.com
这将我重定向到facebook,然后用url中的代码按预期重定向回我的站点
https:///browse?code=1bfabc0e-f4cd-4889-8811-eaaa71rf6e35#=
我找不到任何关于如何使用amplify库将代码交换为JWT的文档
我已经使用验证器实现了基本的cognito登录
当提交密码和用户名时,我可以在http响应中看到返回的accessToken和idToken
Auth.signIn(username, password)
.then(user => console.log(user))
.catch(err => console.log(err));
我已经试着查看了AmplificService和Auth方法,但找不到任何允许我提交代码而不是用户名和密码的方法
提前谢谢
accessToken
,而不是code
accessToken
以将其更改为长寿命(60天)令牌:Facebook类来自
Facebook/graph sdk
(检查此项:)我知道我有点晚了,但您可以在这里看到:在允许的OAuth流下
public function grantFacebookAccess(Request $request Facebook $fb) {
$accessToken = $request->get('accessToken');
$oAuth2Client = $fb->getOAuth2Client();
$longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($accessToken);
$params = "first_name,last_name,age_range,gender";
$user = $fb->get('/me?fields='.$params, $longLivedAccessToken)->getGraphUser();
print_r($user);
}