是否有一个示例描述了如何在前端基于Polymer.js实现OAuth2身份验证?
我刚刚找到了一些描述AJAX过程的例子,它也是Polymer元素集的一部分。那么如何继续前进?
答案 0 :(得分:2)
我在这里找到了一个git repo,其中包含了demo。所以你可以看一下。
<oauth-user></oauth-user>
<polymer-element name="oauth-user">
<template>
<oauth-authenticator id="authenticator" client_id="282331888208-06mufq54k942624lv803nlm6kvlq76fr.apps.googleusercontent.com" scopes="https://www.googleapis.com/auth/userinfo.profile" on-authenticated="{{authenticated}}"></oauth-authenticator>
<core-ajax auto id="ajax" url="{{url}}" headers="{{headers}}" handleAs="json" on-core-response="{{ajaxResponse}}"></core-ajax>
<p>{{greeting}}</p>
</template>
<script>
Polymer({
url: '',
greeting: '...',
authenticated: function(event){
var token = event.detail.token;
this.headers = {'Authorization': 'Bearer ' + token};
this.url = "https://www.googleapis.com/oauth2/v1/userinfo?alt=json";
},
ajaxResponse: function(event, response) {
this.greeting = 'Hello ' + response.response.name + '!';
}
});
</script>
</polymer-element>
您可以看到有事件处理程序,因此您可以重定向用户或更新屏幕。还有一个获取用户信息的网址。