angular-simple-oidc
Version:
Angular Library implementing Open Id Connect specification. Code Flow, Refresh Tokens, Session Management, Discovery Document.
34 lines • 3.59 kB
JavaScript
export class DynamicIframe {
constructor(document) {
this.document = document;
this.handle = this.document.createElement('iframe');
}
appendTo(e) {
e.appendChild(this.handle);
return this;
}
appendToBody() {
this.appendTo(this.document.body);
return this;
}
setSource(url) {
this.handle.src = url;
return this;
}
hide() {
this.handle.style.display = 'none';
return this;
}
postMessage(msg, origin) {
this.handle.contentWindow.postMessage(msg, origin);
return this;
}
remove() {
// iframe may not have been appended.
if (this.handle.parentElement) {
this.handle.parentElement.removeChild(this.handle);
}
return this;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1pZnJhbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNpbXBsZS1vaWRjL3NyYy9saWIvZHluYW1pYy1pZnJhbWUvZHluYW1pYy1pZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLGFBQWE7SUFJdEIsWUFBK0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxRQUFRLENBQUMsQ0FBYztRQUMxQixDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sWUFBWTtRQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQVc7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxJQUFJO1FBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVcsRUFBRSxNQUFjO1FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU07UUFDVCxxQ0FBcUM7UUFDckMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgY2xhc3MgRHluYW1pY0lmcmFtZSB7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgaGFuZGxlOiBIVE1MSUZyYW1lRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQpIHtcbiAgICAgICAgdGhpcy5oYW5kbGUgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhcHBlbmRUbyhlOiBIVE1MRWxlbWVudCkge1xuICAgICAgICBlLmFwcGVuZENoaWxkKHRoaXMuaGFuZGxlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGFwcGVuZFRvQm9keSgpIHtcbiAgICAgICAgdGhpcy5hcHBlbmRUbyh0aGlzLmRvY3VtZW50LmJvZHkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0U291cmNlKHVybDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlLnNyYyA9IHVybDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGhpZGUoKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBwb3N0TWVzc2FnZShtc2c6IHN0cmluZywgb3JpZ2luOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5oYW5kbGUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShtc2csIG9yaWdpbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoKSB7XG4gICAgICAgIC8vIGlmcmFtZSBtYXkgbm90IGhhdmUgYmVlbiBhcHBlbmRlZC5cbiAgICAgICAgaWYgKHRoaXMuaGFuZGxlLnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5oYW5kbGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn1cbiJdfQ==