我想在我的办公室加载项中实现oauth,因为我找到了办公室js对话框api并通过它发现它很有趣。
我担心的是我想用角度2来实现它,所以我无法做到这一点。
预期结果应为
主页(目前简单的html页面,但我希望它是角度2组件的一部分)
用户将选择登录
对话框已打开登录
(在对话框的第一个本地页面中,然后将其重定向到当前域之外的某个自定义域页面)
回调
成功登录后加载菜单和数据。
完成oauth后,我正在加载我的角度2应用程序。我想用angular 2 app做完整周期。
答案 0 :(得分:1)
你有没有机会看一下Office Helpers?它将帮助您轻松完成OAuth。
我不确定您的具体方案,但假设您要使用StackOverflow API进行身份验证,那么您可以执行以下操作:
async function authenticate() {
/* Invoke the library */
let authenticator = new OfficeHelpers.Authenticator();
/* Register the OAuth provider by passing a name and the configuration */
authenticator.endpoints.add('StackOverflow', {
clientId: '<client id goes here>',
baseUrl: 'https://stackexchange.com',
redirectUrl: 'https://localhost:3000',
authorizeUrl: '/oauth/dialog',
scope: '<scope goes here>',
responseType: 'token',
state: true /* generate a random state */
});
/* returns a token or an OAuth Error */
return await authenticator.authenticate('StackOverflow');
}
如果您有其他问题,请随时在此处发布问题或评论。