改进angular-oauth2-oidc模块,确保它正在向OpenID Connect提供程序传递正确的状态和范围参数。修复此问题,可将以下代码添加到app.module.ts文件中的Providers部分:
{
provide: OAuthStorage,
useValue: localStorage,
},
{
provide: OAuthModuleConfig,
useValue: {
resourceServer: {
allowedUrls: ['http://localhost:3000/api'],
sendAccessToken: true
}
}
},
{
provide: OAuthModuleConfig,
useValue: {
resourceServer: {
allowedUrls: ['http://localhost:3000/api'],
sendAccessToken: true
},
oidc: {
clientId: 'your-client-id',
redirectUri: window.location.origin,
scope: 'openid profile email',
requireHttps: false
}
}
}
请注意,此示例使用http://localhost:3000/api作为允许访问的URL,并发送访问令牌以确保此后端API保护良好。此外,clientId应替换为OpenID Connect提供程序的实际客户端ID。最后,必须确保要使用的作用域在上述示例中正确设置。