mirror of
https://github.com/openziti/zrok.git
synced 2024-11-22 16:13:47 +01:00
elide secrets; tidy messes (#107)
This commit is contained in:
parent
d0cdcd3956
commit
e9c888f41d
@ -47,7 +47,6 @@ func (h *shareDetailHandler) Handle(params metadata.GetShareDetailParams, princi
|
||||
sparkData, err = sparkDataForShares([]*store.Share{shr})
|
||||
if err != nil {
|
||||
logrus.Errorf("error querying spark data for share: %v", err)
|
||||
return metadata.NewGetEnvironmentDetailInternalServerError()
|
||||
}
|
||||
}
|
||||
feEndpoint := ""
|
||||
|
@ -1,15 +1,29 @@
|
||||
import {mdiCardAccountDetails} from "@mdi/js";
|
||||
import {mdiCardAccountDetails, mdiEyeOutline, mdiEyeOffOutline} from "@mdi/js";
|
||||
import Icon from "@mdi/react";
|
||||
import PropertyTable from "../PropertyTable";
|
||||
import {Tab, Tabs} from "react-bootstrap";
|
||||
import {useState} from "react";
|
||||
import {secretString} from "./util";
|
||||
|
||||
const AccountDetail = (props) => {
|
||||
const [showToken, setShowToken] = useState(false);
|
||||
|
||||
const customProperties = {
|
||||
token: row => {
|
||||
if(showToken) {
|
||||
return <span>{row.value} <Icon path={mdiEyeOffOutline} size={0.7} onClick={() => setShowToken(false)} /></span>
|
||||
} else {
|
||||
return <span>{secretString(row.value)} <Icon path={mdiEyeOutline} size={0.7} onClick={() => setShowToken(true)} /></span>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h2><Icon path={mdiCardAccountDetails} size={2} />{" "}{props.user.email}</h2>
|
||||
<Tabs defaultActiveKey={"detail"}>
|
||||
<Tab eventKey={"detail"} title={"Detail"}>
|
||||
<PropertyTable object={props.user} />
|
||||
<PropertyTable object={props.user} custom={customProperties}/>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
</div>
|
||||
|
@ -1,13 +1,15 @@
|
||||
import * as metadata from "../../api/metadata";
|
||||
import {Sparklines, SparklinesLine, SparklinesSpots} from "react-sparklines";
|
||||
import {useEffect, useState} from "react";
|
||||
import {mdiShareVariant} from "@mdi/js";
|
||||
import {mdiEyeOffOutline, mdiEyeOutline, mdiShareVariant} from "@mdi/js";
|
||||
import Icon from "@mdi/react";
|
||||
import PropertyTable from "../PropertyTable";
|
||||
import {Tab, Tabs} from "react-bootstrap";
|
||||
import {secretString} from "./util";
|
||||
|
||||
const ShareDetail = (props) => {
|
||||
const [detail, setDetail] = useState({});
|
||||
const [showZId, setShowZId] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
metadata.getShareDetail(props.selection.id)
|
||||
@ -41,6 +43,13 @@ const ShareDetail = (props) => {
|
||||
return <a href={row.value} target="_">{row.value}</a>;
|
||||
}
|
||||
return row.value;
|
||||
},
|
||||
zId: row => {
|
||||
if(showZId) {
|
||||
return <span>{row.value} <Icon path={mdiEyeOffOutline} size={0.7} onClick={() => setShowZId(false)} /></span>
|
||||
} else {
|
||||
return <span>{secretString(row.value)} <Icon path={mdiEyeOutline} size={0.7} onClick={() => setShowZId(true)} /></span>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,24 @@
|
||||
import PropertyTable from "../../PropertyTable";
|
||||
import Icon from "@mdi/react";
|
||||
import {mdiEyeOffOutline, mdiEyeOutline} from "@mdi/js";
|
||||
import {secretString} from "../util";
|
||||
import {useState} from "react";
|
||||
|
||||
const Detail = (props) => {
|
||||
const [showZId, setShowZId] = useState(false);
|
||||
|
||||
const customProperties = {
|
||||
zId: row => {
|
||||
if(showZId) {
|
||||
return <span>{row.value} <Icon path={mdiEyeOffOutline} size={0.7} onClick={() => setShowZId(false)} /></span>
|
||||
} else {
|
||||
return <span>{secretString(row.value)} <Icon path={mdiEyeOutline} size={0.7} onClick={() => setShowZId(true)} /></span>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<PropertyTable object={props.environment} />
|
||||
<PropertyTable object={props.environment} custom={customProperties} />
|
||||
);
|
||||
};
|
||||
|
||||
|
7
ui/src/console/detail/util.js
Normal file
7
ui/src/console/detail/util.js
Normal file
@ -0,0 +1,7 @@
|
||||
export const secretString = (s) => {
|
||||
let out = "";
|
||||
for(let i = 0; i < s.length; i++) {
|
||||
out += "*";
|
||||
}
|
||||
return out;
|
||||
}
|
Loading…
Reference in New Issue
Block a user