我想让用户能够在我的 Android 应用程序中删除他们的帐户。我已经使用 AWS Amplify 和AWS Cognito User Pool. 但 Amplify 不提供“删除用户”功能,因此我想使用 lambda 函数从我的认知用户池中删除用户。
当用户点击应用程序中的“删除我的帐户”时,将调用该函数。为了测试该函数,我在 Lambda 函数中使用硬编码的用户名,而不是将用户名传递到函数中。但即使这样也行不通。部署 Lambda 函数后,我通过单击控制台中的“测试”来运行该函数。然后控制台会显示Execution result: succeeded,但响应是null。我希望得到 Status 200 或 400 作为响应。在执行的 CloudWatch 日志中,我只能看到我的第一个日志语句(“我在这里”),其他两个没有显示。在 Cognito 控制台中,用户仍然存在。
这是我的Lambda Code(Node.js):
const AWS = require('aws-sdk');
console.log("I was here");
var params = {
UserPoolId: 'syz****f-dev',
Username: '5b53****138'
};
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({
"region": 'eu-central-1',
});
exports.handler = async (event) => {
cognitoidentityserviceprovider.adminDeleteUser(params, function(err, data) {
if (err) {
var …Run Code Online (Sandbox Code Playgroud) 我想在我的 Angular SPA 中使用带有 PKCE 的代码流,为了方便起见,我使用这个库:angular-oauth2-oidc
如果您单击该链接,它表示通过此配置您将使用带有 PKCE 的代码流:
let authConfig: AuthConfig = {
issuer: 'https://myIssuerURL.com',
redirectUri: 'https://myRedirectURI.com',
clientId: environment.myclientId,
scope: 'openid',
responseType: 'code',
showDebugInformation: true,
};
Run Code Online (Sandbox Code Playgroud)
当用户单击登录时,我使用此命令初始化流程:
this.oauthService.initCodeFlow();
Run Code Online (Sandbox Code Playgroud)
这有效,我收到了访问权限和 ID 令牌,但如何确定我正在使用带有 PKCE 的代码流,而不仅仅是没有 PKCE 的正常代码流?代码质询和验证程序的创建和存储是否全部由库为我处理?有没有办法停止该过程并查看授权代码或代码质询?
这可能是一个奇怪的问题,但我只是想确定它正在使用 PKCE...
oauth-2.0 angular authenticationchallenge angular-oauth2-oidc pkce