我正在构建一个saas网站(aspnetcore webapi 2.1+angular js),允许用户连接他们的电子邮件帐户(Gmail,outlook .),这样他们就可以接收和发送电子邮件而不需要关闭。我已经顺利地完成了gmail部分,但是当我谈到outlook时,我添加了身份验证部分。我不想(我已经在Gmail集成方面做了)是:
上面的代码将直接指向google登录页面(即使是通过js客户端的http post调用),并将它们存储在我的客户存储库中。我是错过了MSAL中的某些内容,还是必须手动执行第0次流?
发布于 2019-10-18 19:29:18
要获得MSGraph的访问令牌,用户必须首先登录,以便您可以发送他们的凭据来获取令牌。您不能绕过第一个登录页。
通过拦截openIdConnect事件OnAuthorizationCodeReceived,然后用收到的代码调用AcquireTokenByAuthorizationCode,MSAL可以为您做到这一点。我建议您查看一下这个样本,在OnAuthorizationCodeReceived上设置一个断点,并分析那里正在发生的流。
关于手动实现流,处理令牌过期和安全点将是一项困难的任务。我强烈建议使用MSAL。
https://stackoverflow.com/questions/57937506
复制相似问题