ストームパス ID サイトを使用するエクスプレス ストームパス アプリケーションがあります。次の構成があります。
app.use(stormpath.init(app, {
web: {
idSite: {
enabled: true,
uri: '/idSiteResult',
nextUri: '/'
},
login: {
enabled: true,
uri: config.login
},
logout: {
enabled: true,
uri: config.logout
},
me: {
expand: {
customData: true,
groups: true
}
}
}
}));
ログインは正常に機能しますが、ログアウトすると問題が発生します。
まず、stormpath-sdk-angularjs 組み込みの endSession() でログアウトしてみました
$auth.endSession();
しかし、私はまだログインしていました。
express-stormpath を掘り下げると、logout POST には id-site logout の Accept type text/html が必要なようです。stormpath-sdk-angularjs では、endSession POST が application/json を使用しているようです。
ということで $http.post でログアウトしてみた
$http.post('/logout', null, {
headers: {
'Accept': 'text/html'
}
});
しかし、私はこのエラーが発生します:
XMLHttpRequest はhttps://api.stormpath.com/sso/logout?jwtRequest=[...]を読み込めません。「https://api.stormpath.com/sso/logout?jwtRequest=[...]」から「http://localhost:9000/idSiteResult?jwtResponse=[...] 」へのリダイレクトが CORS によってブロックされましたポリシー: 要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません。したがって、オリジン ' http://localhost:9000 ' へのアクセスは許可されません。
Stormpath ID サイトからログアウトするにはどうすればよいですか?