Inspired by https://greasyfork.org/en/scripts/430620-aws-sso-console-user-title-fix but modified to require less maintenence
当前为
// ==UserScript==
// @name AWS-SSO-Console-User-Title-IAM-Alias
// @namespace http://tampermonkey.net/
// @version 0.3
// @description Inspired by https://greasyfork.org/en/scripts/430620-aws-sso-console-user-title-fix but modified to require less maintenence
// @author Nick Carpenter
// @include https://console.aws.amazon.*
// @include https://*.console.aws.amazon.*
// @run-at document-end
// @inject-into content
// @license MIT
// @noframes
// @grant window.close
// @grant window.focus
// ==/UserScript==
function assert(condition, message) {
if (!condition) {
throw message || "Assertion failed";
}
}
(function() {
'use strict';
// console.log("======================================================")
// The query selector might need to change. But this is trying to find the span inside the button.
let nodes = document.querySelectorAll('[data-testid="awsc-nav-account-menu-button"]')
assert(nodes.length == 1, "Could not find proper span")
let str = nodes[0].children[0].title
// console.log(`Element: ${str})
let re = /\w+_(\w+)_(\w+)\/(.*)\s+@\s+(.+)/
let results = re.exec(str)
assert (results!=null, "String contents from span title attribute was not parsed properly by regular expression")
let role = results[1]
let username = results[3]
let account = results[4]
// console.log(`Username: ${username} Account: ${account} Role: ${role}`)
// console.log("======================================================")
button.children[0].children[0].innerText = `${account} / ${role} / ${username}`
})();