Nah*_*thi 5 javascript amazon-web-services reactjs amazon-cognito next.js
我有一个使用 aws cognito 进行身份验证的 nextjs 应用程序。我想知道是否有办法用我自己的自定义表单替换 aws 提供的托管 ui。
import { Domain } from "@material-ui/icons";
import NextAuth from "next-auth";
import Providers from "next-auth/providers";
export default NextAuth({
providers:[
Providers.Cognito({
clientId:process.env.COGNITO_CLIENT,
clientSecret:process.env.COGNITO_CLIENT_SECRET,
domain: process.env.COGNITO_DOMAIN
})
]
})
Run Code Online (Sandbox Code Playgroud)
从技术上讲,是的,这是可能的,但@alexrogo 的答案具有误导性。Amplify 除了非常值得怀疑(只需查看 github 上的开放票证)之外,它并不使用 OpenIDConnect 标准。它正在执行直接 CognitoitiateAuth 操作,该操作返回没有 openid 范围的令牌。如果您尝试在 Cognito 上调用 /userinfo 端点,则会失败。此外,Amplify 将令牌保留在本地存储或 cookie 中,具体取决于您如何配置它,但它不是 httponly cookie...这非常麻烦。
但话虽这么说,可以替换 HostedUI,但要小心,因为 HostedUI 不仅仅是一个 UI!这是一个完整的授权服务器。如果您想省略其登录页面,您必须自己实现这些功能。请参阅此处了解更多详细信息:不使用托管 UI 的 AWS Cognito 授权代码授予流程
| 归档时间: |
|
| 查看次数: |
3637 次 |
| 最近记录: |