-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
272 lines (222 loc) · 594 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
<!doctype html>
<html lang="zh"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><meta><title>Rainbow</title><link rel="manifest" href="/manifest.json"><meta name="application-name" content="rainbow blog"><meta name="msapplication-TileImage" content="/img/favicon.svg"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="rainbow blog"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="description" content="一个一直在学习的程序猿,一个一直在分享的博客"><meta property="og:type" content="blog"><meta property="og:title" content="Rainbow"><meta property="og:url" content="https://rainbowechoes.github.io/"><meta property="og:site_name" content="Rainbow"><meta property="og:description" content="一个一直在学习的程序猿,一个一直在分享的博客"><meta property="og:locale" content="zh_CN"><meta property="og:image" content="https://rainbowechoes.github.io/img/og_image.png"><meta property="article:author" content="rainbow"><meta property="twitter:card" content="summary"><meta property="twitter:image" content="/img/og_image.png"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://rainbowechoes.github.io"},"headline":"Rainbow","image":["https://rainbowechoes.github.io/img/og_image.png"],"author":{"@type":"Person","name":"rainbow"},"publisher":{"@type":"Organization","name":"Rainbow","logo":{"@type":"ImageObject","url":null}},"description":"一个一直在学习的程序猿,一个一直在分享的博客"}</script><link rel="icon" href="/img/favicon.svg"><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.2/css/all.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/styles/atom-one-light.css"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;600&family=Source+Code+Pro"><link rel="stylesheet" href="/css/default.css"><style>body>.footer,body>.navbar,body>.section{opacity:0}</style><!--!--><script>var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?d465c96be4bb6a4fb75b9d26898a649d";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();</script><meta name="msvalidate.01" content="E132D739023AA5508A9D220B2F6AA7BB"><script src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" defer></script><!--!--><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/build/cookieconsent.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/lightgallery.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/justifiedGallery.min.css"><!--!--><!--!--><style>.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#3273dc;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}</style><script src="https://cdn.jsdelivr.net/npm/[email protected]/pace.min.js"></script><!--!--><!--!--><script data-ad-client="ca-pub-4152165722952624" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" async></script><meta name="generator" content="Hexo 6.1.0"></head><body class="is-2-column"><nav class="navbar navbar-main"><div class="container"><div class="navbar-brand justify-content-center"><a class="navbar-item navbar-logo" href="/">Rainbow</a></div><div class="navbar-menu"><div class="navbar-start"><a class="navbar-item is-active" href="/">Home</a><a class="navbar-item" href="/archives">Archives</a><a class="navbar-item" href="/categories">Categories</a><a class="navbar-item" href="/tags">Tags</a><a class="navbar-item" href="/about">About</a></div><div class="navbar-end"><a class="navbar-item search" title="搜索" href="javascript:;"><i class="fas fa-search"></i></a></div></div></div></nav><section class="section"><div class="container"><div class="columns"><div class="column order-2 column-main is-8-tablet is-8-desktop is-8-widescreen"><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2023-01-05T08:03:27.000Z" title="2023/1/5 下午4:03:27">2023-01-05</time>发表</span><span class="level-item"><time dateTime="2023-01-05T08:06:38.305Z" title="2023/1/5 下午4:06:38">2023-01-05</time>更新</span><span class="level-item">44 分钟读完 (大约6611个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2023/01/05/keycloak-%E7%9A%84%E6%A8%A1%E6%9D%BF%E9%85%8D%E7%BD%AE/">keycloak 的模板配置</a></h1><div class="content"><p>分享一个,统一了微信登录、支持 rbac0以及其他防爆破的一些配置的 keycloak realm 配置。配置内容为:</p>
<figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br><span class="line">181</span><br><span class="line">182</span><br><span class="line">183</span><br><span class="line">184</span><br><span class="line">185</span><br><span class="line">186</span><br><span class="line">187</span><br><span class="line">188</span><br><span class="line">189</span><br><span class="line">190</span><br><span class="line">191</span><br><span class="line">192</span><br><span class="line">193</span><br><span class="line">194</span><br><span class="line">195</span><br><span class="line">196</span><br><span class="line">197</span><br><span class="line">198</span><br><span class="line">199</span><br><span class="line">200</span><br><span class="line">201</span><br><span class="line">202</span><br><span class="line">203</span><br><span class="line">204</span><br><span class="line">205</span><br><span class="line">206</span><br><span class="line">207</span><br><span class="line">208</span><br><span class="line">209</span><br><span class="line">210</span><br><span class="line">211</span><br><span class="line">212</span><br><span class="line">213</span><br><span class="line">214</span><br><span class="line">215</span><br><span class="line">216</span><br><span class="line">217</span><br><span class="line">218</span><br><span class="line">219</span><br><span class="line">220</span><br><span class="line">221</span><br><span class="line">222</span><br><span class="line">223</span><br><span class="line">224</span><br><span class="line">225</span><br><span class="line">226</span><br><span class="line">227</span><br><span class="line">228</span><br><span class="line">229</span><br><span class="line">230</span><br><span class="line">231</span><br><span class="line">232</span><br><span class="line">233</span><br><span class="line">234</span><br><span class="line">235</span><br><span class="line">236</span><br><span class="line">237</span><br><span class="line">238</span><br><span class="line">239</span><br><span class="line">240</span><br><span class="line">241</span><br><span class="line">242</span><br><span class="line">243</span><br><span class="line">244</span><br><span class="line">245</span><br><span class="line">246</span><br><span class="line">247</span><br><span class="line">248</span><br><span class="line">249</span><br><span class="line">250</span><br><span class="line">251</span><br><span class="line">252</span><br><span class="line">253</span><br><span class="line">254</span><br><span class="line">255</span><br><span class="line">256</span><br><span class="line">257</span><br><span class="line">258</span><br><span class="line">259</span><br><span class="line">260</span><br><span class="line">261</span><br><span class="line">262</span><br><span class="line">263</span><br><span class="line">264</span><br><span class="line">265</span><br><span class="line">266</span><br><span class="line">267</span><br><span class="line">268</span><br><span class="line">269</span><br><span class="line">270</span><br><span class="line">271</span><br><span class="line">272</span><br><span class="line">273</span><br><span class="line">274</span><br><span class="line">275</span><br><span class="line">276</span><br><span class="line">277</span><br><span class="line">278</span><br><span class="line">279</span><br><span class="line">280</span><br><span class="line">281</span><br><span class="line">282</span><br><span class="line">283</span><br><span class="line">284</span><br><span class="line">285</span><br><span class="line">286</span><br><span class="line">287</span><br><span class="line">288</span><br><span class="line">289</span><br><span class="line">290</span><br><span class="line">291</span><br><span class="line">292</span><br><span class="line">293</span><br><span class="line">294</span><br><span class="line">295</span><br><span class="line">296</span><br><span class="line">297</span><br><span class="line">298</span><br><span class="line">299</span><br><span class="line">300</span><br><span class="line">301</span><br><span class="line">302</span><br><span class="line">303</span><br><span class="line">304</span><br><span class="line">305</span><br><span class="line">306</span><br><span class="line">307</span><br><span class="line">308</span><br><span class="line">309</span><br><span class="line">310</span><br><span class="line">311</span><br><span class="line">312</span><br><span class="line">313</span><br><span class="line">314</span><br><span class="line">315</span><br><span class="line">316</span><br><span class="line">317</span><br><span class="line">318</span><br><span class="line">319</span><br><span class="line">320</span><br><span class="line">321</span><br><span class="line">322</span><br><span class="line">323</span><br><span class="line">324</span><br><span class="line">325</span><br><span class="line">326</span><br><span class="line">327</span><br><span class="line">328</span><br><span class="line">329</span><br><span class="line">330</span><br><span class="line">331</span><br><span class="line">332</span><br><span class="line">333</span><br><span class="line">334</span><br><span class="line">335</span><br><span class="line">336</span><br><span class="line">337</span><br><span class="line">338</span><br><span class="line">339</span><br><span class="line">340</span><br><span class="line">341</span><br><span class="line">342</span><br><span class="line">343</span><br><span class="line">344</span><br><span class="line">345</span><br><span class="line">346</span><br><span class="line">347</span><br><span class="line">348</span><br><span class="line">349</span><br><span class="line">350</span><br><span class="line">351</span><br><span class="line">352</span><br><span class="line">353</span><br><span class="line">354</span><br><span class="line">355</span><br><span class="line">356</span><br><span class="line">357</span><br><span class="line">358</span><br><span class="line">359</span><br><span class="line">360</span><br><span class="line">361</span><br><span class="line">362</span><br><span class="line">363</span><br><span class="line">364</span><br><span class="line">365</span><br><span class="line">366</span><br><span class="line">367</span><br><span class="line">368</span><br><span class="line">369</span><br><span class="line">370</span><br><span class="line">371</span><br><span class="line">372</span><br><span class="line">373</span><br><span class="line">374</span><br><span class="line">375</span><br><span class="line">376</span><br><span class="line">377</span><br><span class="line">378</span><br><span class="line">379</span><br><span class="line">380</span><br><span class="line">381</span><br><span class="line">382</span><br><span class="line">383</span><br><span class="line">384</span><br><span class="line">385</span><br><span class="line">386</span><br><span class="line">387</span><br><span class="line">388</span><br><span class="line">389</span><br><span class="line">390</span><br><span class="line">391</span><br><span class="line">392</span><br><span class="line">393</span><br><span class="line">394</span><br><span class="line">395</span><br><span class="line">396</span><br><span class="line">397</span><br><span class="line">398</span><br><span class="line">399</span><br><span class="line">400</span><br><span class="line">401</span><br><span class="line">402</span><br><span class="line">403</span><br><span class="line">404</span><br><span class="line">405</span><br><span class="line">406</span><br><span class="line">407</span><br><span class="line">408</span><br><span class="line">409</span><br><span class="line">410</span><br><span class="line">411</span><br><span class="line">412</span><br><span class="line">413</span><br><span class="line">414</span><br><span class="line">415</span><br><span class="line">416</span><br><span class="line">417</span><br><span class="line">418</span><br><span class="line">419</span><br><span class="line">420</span><br><span class="line">421</span><br><span class="line">422</span><br><span class="line">423</span><br><span class="line">424</span><br><span class="line">425</span><br><span class="line">426</span><br><span class="line">427</span><br><span class="line">428</span><br><span class="line">429</span><br><span class="line">430</span><br><span class="line">431</span><br><span class="line">432</span><br><span class="line">433</span><br><span class="line">434</span><br><span class="line">435</span><br><span class="line">436</span><br><span class="line">437</span><br><span class="line">438</span><br><span class="line">439</span><br><span class="line">440</span><br><span class="line">441</span><br><span class="line">442</span><br><span class="line">443</span><br><span class="line">444</span><br><span class="line">445</span><br><span class="line">446</span><br><span class="line">447</span><br><span class="line">448</span><br><span class="line">449</span><br><span class="line">450</span><br><span class="line">451</span><br><span class="line">452</span><br><span class="line">453</span><br><span class="line">454</span><br><span class="line">455</span><br><span class="line">456</span><br><span class="line">457</span><br><span class="line">458</span><br><span class="line">459</span><br><span class="line">460</span><br><span class="line">461</span><br><span class="line">462</span><br><span class="line">463</span><br><span class="line">464</span><br><span class="line">465</span><br><span class="line">466</span><br><span class="line">467</span><br><span class="line">468</span><br><span class="line">469</span><br><span class="line">470</span><br><span class="line">471</span><br><span class="line">472</span><br><span class="line">473</span><br><span class="line">474</span><br><span class="line">475</span><br><span class="line">476</span><br><span class="line">477</span><br><span class="line">478</span><br><span class="line">479</span><br><span class="line">480</span><br><span class="line">481</span><br><span class="line">482</span><br><span class="line">483</span><br><span class="line">484</span><br><span class="line">485</span><br><span class="line">486</span><br><span class="line">487</span><br><span class="line">488</span><br><span class="line">489</span><br><span class="line">490</span><br><span class="line">491</span><br><span class="line">492</span><br><span class="line">493</span><br><span class="line">494</span><br><span class="line">495</span><br><span class="line">496</span><br><span class="line">497</span><br><span class="line">498</span><br><span class="line">499</span><br><span class="line">500</span><br><span class="line">501</span><br><span class="line">502</span><br><span class="line">503</span><br><span class="line">504</span><br><span class="line">505</span><br><span class="line">506</span><br><span class="line">507</span><br><span class="line">508</span><br><span class="line">509</span><br><span class="line">510</span><br><span class="line">511</span><br><span class="line">512</span><br><span class="line">513</span><br><span class="line">514</span><br><span class="line">515</span><br><span class="line">516</span><br><span class="line">517</span><br><span class="line">518</span><br><span class="line">519</span><br><span class="line">520</span><br><span class="line">521</span><br><span class="line">522</span><br><span class="line">523</span><br><span class="line">524</span><br><span class="line">525</span><br><span class="line">526</span><br><span class="line">527</span><br><span class="line">528</span><br><span class="line">529</span><br><span class="line">530</span><br><span class="line">531</span><br><span class="line">532</span><br><span class="line">533</span><br><span class="line">534</span><br><span class="line">535</span><br><span class="line">536</span><br><span class="line">537</span><br><span class="line">538</span><br><span class="line">539</span><br><span class="line">540</span><br><span class="line">541</span><br><span class="line">542</span><br><span class="line">543</span><br><span class="line">544</span><br><span class="line">545</span><br><span class="line">546</span><br><span class="line">547</span><br><span class="line">548</span><br><span class="line">549</span><br><span class="line">550</span><br><span class="line">551</span><br><span class="line">552</span><br><span class="line">553</span><br><span class="line">554</span><br><span class="line">555</span><br><span class="line">556</span><br><span class="line">557</span><br><span class="line">558</span><br><span class="line">559</span><br><span class="line">560</span><br><span class="line">561</span><br><span class="line">562</span><br><span class="line">563</span><br><span class="line">564</span><br><span class="line">565</span><br><span class="line">566</span><br><span class="line">567</span><br><span class="line">568</span><br><span class="line">569</span><br><span class="line">570</span><br><span class="line">571</span><br><span class="line">572</span><br><span class="line">573</span><br><span class="line">574</span><br><span class="line">575</span><br><span class="line">576</span><br><span class="line">577</span><br><span class="line">578</span><br><span class="line">579</span><br><span class="line">580</span><br><span class="line">581</span><br><span class="line">582</span><br><span class="line">583</span><br><span class="line">584</span><br><span class="line">585</span><br><span class="line">586</span><br><span class="line">587</span><br><span class="line">588</span><br><span class="line">589</span><br><span class="line">590</span><br><span class="line">591</span><br><span class="line">592</span><br><span class="line">593</span><br><span class="line">594</span><br><span class="line">595</span><br><span class="line">596</span><br><span class="line">597</span><br><span class="line">598</span><br><span class="line">599</span><br><span class="line">600</span><br><span class="line">601</span><br><span class="line">602</span><br><span class="line">603</span><br><span class="line">604</span><br><span class="line">605</span><br><span class="line">606</span><br><span class="line">607</span><br><span class="line">608</span><br><span class="line">609</span><br><span class="line">610</span><br><span class="line">611</span><br><span class="line">612</span><br><span class="line">613</span><br><span class="line">614</span><br><span class="line">615</span><br><span class="line">616</span><br><span class="line">617</span><br><span class="line">618</span><br><span class="line">619</span><br><span class="line">620</span><br><span class="line">621</span><br><span class="line">622</span><br><span class="line">623</span><br><span class="line">624</span><br><span class="line">625</span><br><span class="line">626</span><br><span class="line">627</span><br><span class="line">628</span><br><span class="line">629</span><br><span class="line">630</span><br><span class="line">631</span><br><span class="line">632</span><br><span class="line">633</span><br><span class="line">634</span><br><span class="line">635</span><br><span class="line">636</span><br><span class="line">637</span><br><span class="line">638</span><br><span class="line">639</span><br><span class="line">640</span><br><span class="line">641</span><br><span class="line">642</span><br><span class="line">643</span><br><span class="line">644</span><br><span class="line">645</span><br><span class="line">646</span><br><span class="line">647</span><br><span class="line">648</span><br><span class="line">649</span><br><span class="line">650</span><br><span class="line">651</span><br><span class="line">652</span><br><span class="line">653</span><br><span class="line">654</span><br><span class="line">655</span><br><span class="line">656</span><br><span class="line">657</span><br><span class="line">658</span><br><span class="line">659</span><br><span class="line">660</span><br><span class="line">661</span><br><span class="line">662</span><br><span class="line">663</span><br><span class="line">664</span><br><span class="line">665</span><br><span class="line">666</span><br><span class="line">667</span><br><span class="line">668</span><br><span class="line">669</span><br><span class="line">670</span><br><span class="line">671</span><br><span class="line">672</span><br><span class="line">673</span><br><span class="line">674</span><br><span class="line">675</span><br><span class="line">676</span><br><span class="line">677</span><br><span class="line">678</span><br><span class="line">679</span><br><span class="line">680</span><br><span class="line">681</span><br><span class="line">682</span><br><span class="line">683</span><br><span class="line">684</span><br><span class="line">685</span><br><span class="line">686</span><br><span class="line">687</span><br><span class="line">688</span><br><span class="line">689</span><br><span class="line">690</span><br><span class="line">691</span><br><span class="line">692</span><br><span class="line">693</span><br><span class="line">694</span><br><span class="line">695</span><br><span class="line">696</span><br><span class="line">697</span><br><span class="line">698</span><br><span class="line">699</span><br><span class="line">700</span><br><span class="line">701</span><br><span class="line">702</span><br><span class="line">703</span><br><span class="line">704</span><br><span class="line">705</span><br><span class="line">706</span><br><span class="line">707</span><br><span class="line">708</span><br><span class="line">709</span><br><span class="line">710</span><br><span class="line">711</span><br><span class="line">712</span><br><span class="line">713</span><br><span class="line">714</span><br><span class="line">715</span><br><span class="line">716</span><br><span class="line">717</span><br><span class="line">718</span><br><span class="line">719</span><br><span class="line">720</span><br><span class="line">721</span><br><span class="line">722</span><br><span class="line">723</span><br><span class="line">724</span><br><span class="line">725</span><br><span class="line">726</span><br><span class="line">727</span><br><span class="line">728</span><br><span class="line">729</span><br><span class="line">730</span><br><span class="line">731</span><br><span class="line">732</span><br><span class="line">733</span><br><span class="line">734</span><br><span class="line">735</span><br><span class="line">736</span><br><span class="line">737</span><br><span class="line">738</span><br><span class="line">739</span><br><span class="line">740</span><br><span class="line">741</span><br><span class="line">742</span><br><span class="line">743</span><br><span class="line">744</span><br><span class="line">745</span><br><span class="line">746</span><br><span class="line">747</span><br><span class="line">748</span><br><span class="line">749</span><br><span class="line">750</span><br><span class="line">751</span><br><span class="line">752</span><br><span class="line">753</span><br><span class="line">754</span><br><span class="line">755</span><br><span class="line">756</span><br><span class="line">757</span><br><span class="line">758</span><br><span class="line">759</span><br><span class="line">760</span><br><span class="line">761</span><br><span class="line">762</span><br><span class="line">763</span><br><span class="line">764</span><br><span class="line">765</span><br><span class="line">766</span><br><span class="line">767</span><br><span class="line">768</span><br><span class="line">769</span><br><span class="line">770</span><br><span class="line">771</span><br><span class="line">772</span><br><span class="line">773</span><br><span class="line">774</span><br><span class="line">775</span><br><span class="line">776</span><br><span class="line">777</span><br><span class="line">778</span><br><span class="line">779</span><br><span class="line">780</span><br><span class="line">781</span><br><span class="line">782</span><br><span class="line">783</span><br><span class="line">784</span><br><span class="line">785</span><br><span class="line">786</span><br><span class="line">787</span><br><span class="line">788</span><br><span class="line">789</span><br><span class="line">790</span><br><span class="line">791</span><br><span class="line">792</span><br><span class="line">793</span><br><span class="line">794</span><br><span class="line">795</span><br><span class="line">796</span><br><span class="line">797</span><br><span class="line">798</span><br><span class="line">799</span><br><span class="line">800</span><br><span class="line">801</span><br><span class="line">802</span><br><span class="line">803</span><br><span class="line">804</span><br><span class="line">805</span><br><span class="line">806</span><br><span class="line">807</span><br><span class="line">808</span><br><span class="line">809</span><br><span class="line">810</span><br><span class="line">811</span><br><span class="line">812</span><br><span class="line">813</span><br><span class="line">814</span><br><span class="line">815</span><br><span class="line">816</span><br><span class="line">817</span><br><span class="line">818</span><br><span class="line">819</span><br><span class="line">820</span><br><span class="line">821</span><br><span class="line">822</span><br><span class="line">823</span><br><span class="line">824</span><br><span class="line">825</span><br><span class="line">826</span><br><span class="line">827</span><br><span class="line">828</span><br><span class="line">829</span><br><span class="line">830</span><br><span class="line">831</span><br><span class="line">832</span><br><span class="line">833</span><br><span class="line">834</span><br><span class="line">835</span><br><span class="line">836</span><br><span class="line">837</span><br><span class="line">838</span><br><span class="line">839</span><br><span class="line">840</span><br><span class="line">841</span><br><span class="line">842</span><br><span class="line">843</span><br><span class="line">844</span><br><span class="line">845</span><br><span class="line">846</span><br><span class="line">847</span><br><span class="line">848</span><br><span class="line">849</span><br><span class="line">850</span><br><span class="line">851</span><br><span class="line">852</span><br><span class="line">853</span><br><span class="line">854</span><br><span class="line">855</span><br><span class="line">856</span><br><span class="line">857</span><br><span class="line">858</span><br><span class="line">859</span><br><span class="line">860</span><br><span class="line">861</span><br><span class="line">862</span><br><span class="line">863</span><br><span class="line">864</span><br><span class="line">865</span><br><span class="line">866</span><br><span class="line">867</span><br><span class="line">868</span><br><span class="line">869</span><br><span class="line">870</span><br><span class="line">871</span><br><span class="line">872</span><br><span class="line">873</span><br><span class="line">874</span><br><span class="line">875</span><br><span class="line">876</span><br><span class="line">877</span><br><span class="line">878</span><br><span class="line">879</span><br><span class="line">880</span><br><span class="line">881</span><br><span class="line">882</span><br><span class="line">883</span><br><span class="line">884</span><br><span class="line">885</span><br><span class="line">886</span><br><span class="line">887</span><br><span class="line">888</span><br><span class="line">889</span><br><span class="line">890</span><br><span class="line">891</span><br><span class="line">892</span><br><span class="line">893</span><br><span class="line">894</span><br><span class="line">895</span><br><span class="line">896</span><br><span class="line">897</span><br><span class="line">898</span><br><span class="line">899</span><br><span class="line">900</span><br><span class="line">901</span><br><span class="line">902</span><br><span class="line">903</span><br><span class="line">904</span><br><span class="line">905</span><br><span class="line">906</span><br><span class="line">907</span><br><span class="line">908</span><br><span class="line">909</span><br><span class="line">910</span><br><span class="line">911</span><br><span class="line">912</span><br><span class="line">913</span><br><span class="line">914</span><br><span class="line">915</span><br><span class="line">916</span><br><span class="line">917</span><br><span class="line">918</span><br><span class="line">919</span><br><span class="line">920</span><br><span class="line">921</span><br><span class="line">922</span><br><span class="line">923</span><br><span class="line">924</span><br><span class="line">925</span><br><span class="line">926</span><br><span class="line">927</span><br><span class="line">928</span><br><span class="line">929</span><br><span class="line">930</span><br><span class="line">931</span><br><span class="line">932</span><br><span class="line">933</span><br><span class="line">934</span><br><span class="line">935</span><br><span class="line">936</span><br><span class="line">937</span><br><span class="line">938</span><br><span class="line">939</span><br><span class="line">940</span><br><span class="line">941</span><br><span class="line">942</span><br><span class="line">943</span><br><span class="line">944</span><br><span class="line">945</span><br><span class="line">946</span><br><span class="line">947</span><br><span class="line">948</span><br><span class="line">949</span><br><span class="line">950</span><br><span class="line">951</span><br><span class="line">952</span><br><span class="line">953</span><br><span class="line">954</span><br><span class="line">955</span><br><span class="line">956</span><br><span class="line">957</span><br><span class="line">958</span><br><span class="line">959</span><br><span class="line">960</span><br><span class="line">961</span><br><span class="line">962</span><br><span class="line">963</span><br><span class="line">964</span><br><span class="line">965</span><br><span class="line">966</span><br><span class="line">967</span><br><span class="line">968</span><br><span class="line">969</span><br><span class="line">970</span><br><span class="line">971</span><br><span class="line">972</span><br><span class="line">973</span><br><span class="line">974</span><br><span class="line">975</span><br><span class="line">976</span><br><span class="line">977</span><br><span class="line">978</span><br><span class="line">979</span><br><span class="line">980</span><br><span class="line">981</span><br><span class="line">982</span><br><span class="line">983</span><br><span class="line">984</span><br><span class="line">985</span><br><span class="line">986</span><br><span class="line">987</span><br><span class="line">988</span><br><span class="line">989</span><br><span class="line">990</span><br><span class="line">991</span><br><span class="line">992</span><br><span class="line">993</span><br><span class="line">994</span><br><span class="line">995</span><br><span class="line">996</span><br><span class="line">997</span><br><span class="line">998</span><br><span class="line">999</span><br><span class="line">1000</span><br><span class="line">1001</span><br><span class="line">1002</span><br><span class="line">1003</span><br><span class="line">1004</span><br><span class="line">1005</span><br><span class="line">1006</span><br><span class="line">1007</span><br><span class="line">1008</span><br><span class="line">1009</span><br><span class="line">1010</span><br><span class="line">1011</span><br><span class="line">1012</span><br><span class="line">1013</span><br><span class="line">1014</span><br><span class="line">1015</span><br><span class="line">1016</span><br><span class="line">1017</span><br><span class="line">1018</span><br><span class="line">1019</span><br><span class="line">1020</span><br><span class="line">1021</span><br><span class="line">1022</span><br><span class="line">1023</span><br><span class="line">1024</span><br><span class="line">1025</span><br><span class="line">1026</span><br><span class="line">1027</span><br><span class="line">1028</span><br><span class="line">1029</span><br><span class="line">1030</span><br><span class="line">1031</span><br><span class="line">1032</span><br><span class="line">1033</span><br><span class="line">1034</span><br><span class="line">1035</span><br><span class="line">1036</span><br><span class="line">1037</span><br><span class="line">1038</span><br><span class="line">1039</span><br><span class="line">1040</span><br><span class="line">1041</span><br><span class="line">1042</span><br><span class="line">1043</span><br><span class="line">1044</span><br><span class="line">1045</span><br><span class="line">1046</span><br><span class="line">1047</span><br><span class="line">1048</span><br><span class="line">1049</span><br><span class="line">1050</span><br><span class="line">1051</span><br><span class="line">1052</span><br><span class="line">1053</span><br><span class="line">1054</span><br><span class="line">1055</span><br><span class="line">1056</span><br><span class="line">1057</span><br><span class="line">1058</span><br><span class="line">1059</span><br><span class="line">1060</span><br><span class="line">1061</span><br><span class="line">1062</span><br><span class="line">1063</span><br><span class="line">1064</span><br><span class="line">1065</span><br><span class="line">1066</span><br><span class="line">1067</span><br><span class="line">1068</span><br><span class="line">1069</span><br><span class="line">1070</span><br><span class="line">1071</span><br><span class="line">1072</span><br><span class="line">1073</span><br><span class="line">1074</span><br><span class="line">1075</span><br><span class="line">1076</span><br><span class="line">1077</span><br><span class="line">1078</span><br><span class="line">1079</span><br><span class="line">1080</span><br><span class="line">1081</span><br><span class="line">1082</span><br><span class="line">1083</span><br><span class="line">1084</span><br><span class="line">1085</span><br><span class="line">1086</span><br><span class="line">1087</span><br><span class="line">1088</span><br><span class="line">1089</span><br><span class="line">1090</span><br><span class="line">1091</span><br><span class="line">1092</span><br><span class="line">1093</span><br><span class="line">1094</span><br><span class="line">1095</span><br><span class="line">1096</span><br><span class="line">1097</span><br><span class="line">1098</span><br><span class="line">1099</span><br><span class="line">1100</span><br><span class="line">1101</span><br><span class="line">1102</span><br><span class="line">1103</span><br><span class="line">1104</span><br><span class="line">1105</span><br><span class="line">1106</span><br><span class="line">1107</span><br><span class="line">1108</span><br><span class="line">1109</span><br><span class="line">1110</span><br><span class="line">1111</span><br><span class="line">1112</span><br><span class="line">1113</span><br><span class="line">1114</span><br><span class="line">1115</span><br><span class="line">1116</span><br><span class="line">1117</span><br><span class="line">1118</span><br><span class="line">1119</span><br><span class="line">1120</span><br><span class="line">1121</span><br><span class="line">1122</span><br><span class="line">1123</span><br><span class="line">1124</span><br><span class="line">1125</span><br><span class="line">1126</span><br><span class="line">1127</span><br><span class="line">1128</span><br><span class="line">1129</span><br><span class="line">1130</span><br><span class="line">1131</span><br><span class="line">1132</span><br><span class="line">1133</span><br><span class="line">1134</span><br><span class="line">1135</span><br><span class="line">1136</span><br><span class="line">1137</span><br><span class="line">1138</span><br><span class="line">1139</span><br><span class="line">1140</span><br><span class="line">1141</span><br><span class="line">1142</span><br><span class="line">1143</span><br><span class="line">1144</span><br><span class="line">1145</span><br><span class="line">1146</span><br><span class="line">1147</span><br><span class="line">1148</span><br><span class="line">1149</span><br><span class="line">1150</span><br><span class="line">1151</span><br><span class="line">1152</span><br><span class="line">1153</span><br><span class="line">1154</span><br><span class="line">1155</span><br><span class="line">1156</span><br><span class="line">1157</span><br><span class="line">1158</span><br><span class="line">1159</span><br><span class="line">1160</span><br><span class="line">1161</span><br><span class="line">1162</span><br><span class="line">1163</span><br><span class="line">1164</span><br><span class="line">1165</span><br><span class="line">1166</span><br><span class="line">1167</span><br><span class="line">1168</span><br><span class="line">1169</span><br><span class="line">1170</span><br><span class="line">1171</span><br><span class="line">1172</span><br><span class="line">1173</span><br><span class="line">1174</span><br><span class="line">1175</span><br><span class="line">1176</span><br><span class="line">1177</span><br><span class="line">1178</span><br><span class="line">1179</span><br><span class="line">1180</span><br><span class="line">1181</span><br><span class="line">1182</span><br><span class="line">1183</span><br><span class="line">1184</span><br><span class="line">1185</span><br><span class="line">1186</span><br><span class="line">1187</span><br><span class="line">1188</span><br><span class="line">1189</span><br><span class="line">1190</span><br><span class="line">1191</span><br><span class="line">1192</span><br><span class="line">1193</span><br><span class="line">1194</span><br><span class="line">1195</span><br><span class="line">1196</span><br><span class="line">1197</span><br><span class="line">1198</span><br><span class="line">1199</span><br><span class="line">1200</span><br><span class="line">1201</span><br><span class="line">1202</span><br><span class="line">1203</span><br><span class="line">1204</span><br><span class="line">1205</span><br><span class="line">1206</span><br><span class="line">1207</span><br><span class="line">1208</span><br><span class="line">1209</span><br><span class="line">1210</span><br><span class="line">1211</span><br><span class="line">1212</span><br><span class="line">1213</span><br><span class="line">1214</span><br><span class="line">1215</span><br><span class="line">1216</span><br><span class="line">1217</span><br><span class="line">1218</span><br><span class="line">1219</span><br><span class="line">1220</span><br><span class="line">1221</span><br><span class="line">1222</span><br><span class="line">1223</span><br><span class="line">1224</span><br><span class="line">1225</span><br><span class="line">1226</span><br><span class="line">1227</span><br><span class="line">1228</span><br><span class="line">1229</span><br><span class="line">1230</span><br><span class="line">1231</span><br><span class="line">1232</span><br><span class="line">1233</span><br><span class="line">1234</span><br><span class="line">1235</span><br><span class="line">1236</span><br><span class="line">1237</span><br><span class="line">1238</span><br><span class="line">1239</span><br><span class="line">1240</span><br><span class="line">1241</span><br><span class="line">1242</span><br><span class="line">1243</span><br><span class="line">1244</span><br><span class="line">1245</span><br><span class="line">1246</span><br><span class="line">1247</span><br><span class="line">1248</span><br><span class="line">1249</span><br><span class="line">1250</span><br><span class="line">1251</span><br><span class="line">1252</span><br><span class="line">1253</span><br><span class="line">1254</span><br><span class="line">1255</span><br><span class="line">1256</span><br><span class="line">1257</span><br><span class="line">1258</span><br><span class="line">1259</span><br><span class="line">1260</span><br><span class="line">1261</span><br><span class="line">1262</span><br><span class="line">1263</span><br><span class="line">1264</span><br><span class="line">1265</span><br><span class="line">1266</span><br><span class="line">1267</span><br><span class="line">1268</span><br><span class="line">1269</span><br><span class="line">1270</span><br><span class="line">1271</span><br><span class="line">1272</span><br><span class="line">1273</span><br><span class="line">1274</span><br><span class="line">1275</span><br><span class="line">1276</span><br><span class="line">1277</span><br><span class="line">1278</span><br><span class="line">1279</span><br><span class="line">1280</span><br><span class="line">1281</span><br><span class="line">1282</span><br><span class="line">1283</span><br><span class="line">1284</span><br><span class="line">1285</span><br><span class="line">1286</span><br><span class="line">1287</span><br><span class="line">1288</span><br><span class="line">1289</span><br><span class="line">1290</span><br><span class="line">1291</span><br><span class="line">1292</span><br><span class="line">1293</span><br><span class="line">1294</span><br><span class="line">1295</span><br><span class="line">1296</span><br><span class="line">1297</span><br><span class="line">1298</span><br><span class="line">1299</span><br><span class="line">1300</span><br><span class="line">1301</span><br><span class="line">1302</span><br><span class="line">1303</span><br><span class="line">1304</span><br><span class="line">1305</span><br><span class="line">1306</span><br><span class="line">1307</span><br><span class="line">1308</span><br><span class="line">1309</span><br><span class="line">1310</span><br><span class="line">1311</span><br><span class="line">1312</span><br><span class="line">1313</span><br><span class="line">1314</span><br><span class="line">1315</span><br><span class="line">1316</span><br><span class="line">1317</span><br><span class="line">1318</span><br><span class="line">1319</span><br><span class="line">1320</span><br><span class="line">1321</span><br><span class="line">1322</span><br><span class="line">1323</span><br><span class="line">1324</span><br><span class="line">1325</span><br><span class="line">1326</span><br><span class="line">1327</span><br><span class="line">1328</span><br><span class="line">1329</span><br><span class="line">1330</span><br><span class="line">1331</span><br><span class="line">1332</span><br><span class="line">1333</span><br><span class="line">1334</span><br><span class="line">1335</span><br><span class="line">1336</span><br><span class="line">1337</span><br><span class="line">1338</span><br><span class="line">1339</span><br><span class="line">1340</span><br><span class="line">1341</span><br><span class="line">1342</span><br><span class="line">1343</span><br><span class="line">1344</span><br><span class="line">1345</span><br><span class="line">1346</span><br><span class="line">1347</span><br><span class="line">1348</span><br><span class="line">1349</span><br><span class="line">1350</span><br><span class="line">1351</span><br><span class="line">1352</span><br><span class="line">1353</span><br><span class="line">1354</span><br><span class="line">1355</span><br><span class="line">1356</span><br><span class="line">1357</span><br><span class="line">1358</span><br><span class="line">1359</span><br><span class="line">1360</span><br><span class="line">1361</span><br><span class="line">1362</span><br><span class="line">1363</span><br><span class="line">1364</span><br><span class="line">1365</span><br><span class="line">1366</span><br><span class="line">1367</span><br><span class="line">1368</span><br><span class="line">1369</span><br><span class="line">1370</span><br><span class="line">1371</span><br><span class="line">1372</span><br><span class="line">1373</span><br><span class="line">1374</span><br><span class="line">1375</span><br><span class="line">1376</span><br><span class="line">1377</span><br><span class="line">1378</span><br><span class="line">1379</span><br><span class="line">1380</span><br><span class="line">1381</span><br><span class="line">1382</span><br><span class="line">1383</span><br><span class="line">1384</span><br><span class="line">1385</span><br><span class="line">1386</span><br><span class="line">1387</span><br><span class="line">1388</span><br><span class="line">1389</span><br><span class="line">1390</span><br><span class="line">1391</span><br><span class="line">1392</span><br><span class="line">1393</span><br><span class="line">1394</span><br><span class="line">1395</span><br><span class="line">1396</span><br><span class="line">1397</span><br><span class="line">1398</span><br><span class="line">1399</span><br><span class="line">1400</span><br><span class="line">1401</span><br><span class="line">1402</span><br><span class="line">1403</span><br><span class="line">1404</span><br><span class="line">1405</span><br><span class="line">1406</span><br><span class="line">1407</span><br><span class="line">1408</span><br><span class="line">1409</span><br><span class="line">1410</span><br><span class="line">1411</span><br><span class="line">1412</span><br><span class="line">1413</span><br><span class="line">1414</span><br><span class="line">1415</span><br><span class="line">1416</span><br><span class="line">1417</span><br><span class="line">1418</span><br><span class="line">1419</span><br><span class="line">1420</span><br><span class="line">1421</span><br><span class="line">1422</span><br><span class="line">1423</span><br><span class="line">1424</span><br><span class="line">1425</span><br><span class="line">1426</span><br><span class="line">1427</span><br><span class="line">1428</span><br><span class="line">1429</span><br><span class="line">1430</span><br><span class="line">1431</span><br><span class="line">1432</span><br><span class="line">1433</span><br><span class="line">1434</span><br><span class="line">1435</span><br><span class="line">1436</span><br><span class="line">1437</span><br><span class="line">1438</span><br><span class="line">1439</span><br><span class="line">1440</span><br><span class="line">1441</span><br><span class="line">1442</span><br><span class="line">1443</span><br><span class="line">1444</span><br><span class="line">1445</span><br><span class="line">1446</span><br><span class="line">1447</span><br><span class="line">1448</span><br><span class="line">1449</span><br><span class="line">1450</span><br><span class="line">1451</span><br><span class="line">1452</span><br><span class="line">1453</span><br><span class="line">1454</span><br><span class="line">1455</span><br><span class="line">1456</span><br><span class="line">1457</span><br><span class="line">1458</span><br><span class="line">1459</span><br><span class="line">1460</span><br><span class="line">1461</span><br><span class="line">1462</span><br><span class="line">1463</span><br><span class="line">1464</span><br><span class="line">1465</span><br><span class="line">1466</span><br><span class="line">1467</span><br><span class="line">1468</span><br><span class="line">1469</span><br><span class="line">1470</span><br><span class="line">1471</span><br><span class="line">1472</span><br><span class="line">1473</span><br><span class="line">1474</span><br><span class="line">1475</span><br><span class="line">1476</span><br><span class="line">1477</span><br><span class="line">1478</span><br><span class="line">1479</span><br><span class="line">1480</span><br><span class="line">1481</span><br><span class="line">1482</span><br><span class="line">1483</span><br><span class="line">1484</span><br><span class="line">1485</span><br><span class="line">1486</span><br><span class="line">1487</span><br><span class="line">1488</span><br><span class="line">1489</span><br><span class="line">1490</span><br><span class="line">1491</span><br><span class="line">1492</span><br><span class="line">1493</span><br><span class="line">1494</span><br><span class="line">1495</span><br><span class="line">1496</span><br><span class="line">1497</span><br><span class="line">1498</span><br><span class="line">1499</span><br><span class="line">1500</span><br><span class="line">1501</span><br><span class="line">1502</span><br><span class="line">1503</span><br><span class="line">1504</span><br><span class="line">1505</span><br><span class="line">1506</span><br><span class="line">1507</span><br><span class="line">1508</span><br><span class="line">1509</span><br><span class="line">1510</span><br><span class="line">1511</span><br><span class="line">1512</span><br><span class="line">1513</span><br><span class="line">1514</span><br><span class="line">1515</span><br><span class="line">1516</span><br><span class="line">1517</span><br><span class="line">1518</span><br><span class="line">1519</span><br><span class="line">1520</span><br><span class="line">1521</span><br><span class="line">1522</span><br><span class="line">1523</span><br><span class="line">1524</span><br><span class="line">1525</span><br><span class="line">1526</span><br><span class="line">1527</span><br><span class="line">1528</span><br><span class="line">1529</span><br><span class="line">1530</span><br><span class="line">1531</span><br><span class="line">1532</span><br><span class="line">1533</span><br><span class="line">1534</span><br><span class="line">1535</span><br><span class="line">1536</span><br><span class="line">1537</span><br><span class="line">1538</span><br><span class="line">1539</span><br><span class="line">1540</span><br><span class="line">1541</span><br><span class="line">1542</span><br><span class="line">1543</span><br><span class="line">1544</span><br><span class="line">1545</span><br><span class="line">1546</span><br><span class="line">1547</span><br><span class="line">1548</span><br><span class="line">1549</span><br><span class="line">1550</span><br><span class="line">1551</span><br><span class="line">1552</span><br><span class="line">1553</span><br><span class="line">1554</span><br><span class="line">1555</span><br><span class="line">1556</span><br><span class="line">1557</span><br><span class="line">1558</span><br><span class="line">1559</span><br><span class="line">1560</span><br><span class="line">1561</span><br><span class="line">1562</span><br><span class="line">1563</span><br><span class="line">1564</span><br><span class="line">1565</span><br><span class="line">1566</span><br><span class="line">1567</span><br><span class="line">1568</span><br><span class="line">1569</span><br><span class="line">1570</span><br><span class="line">1571</span><br><span class="line">1572</span><br><span class="line">1573</span><br><span class="line">1574</span><br><span class="line">1575</span><br><span class="line">1576</span><br><span class="line">1577</span><br><span class="line">1578</span><br><span class="line">1579</span><br><span class="line">1580</span><br><span class="line">1581</span><br><span class="line">1582</span><br><span class="line">1583</span><br><span class="line">1584</span><br><span class="line">1585</span><br><span class="line">1586</span><br><span class="line">1587</span><br><span class="line">1588</span><br><span class="line">1589</span><br><span class="line">1590</span><br><span class="line">1591</span><br><span class="line">1592</span><br><span class="line">1593</span><br><span class="line">1594</span><br><span class="line">1595</span><br><span class="line">1596</span><br><span class="line">1597</span><br><span class="line">1598</span><br><span class="line">1599</span><br><span class="line">1600</span><br><span class="line">1601</span><br><span class="line">1602</span><br><span class="line">1603</span><br><span class="line">1604</span><br><span class="line">1605</span><br><span class="line">1606</span><br><span class="line">1607</span><br><span class="line">1608</span><br><span class="line">1609</span><br><span class="line">1610</span><br><span class="line">1611</span><br><span class="line">1612</span><br><span class="line">1613</span><br><span class="line">1614</span><br><span class="line">1615</span><br><span class="line">1616</span><br><span class="line">1617</span><br><span class="line">1618</span><br><span class="line">1619</span><br><span class="line">1620</span><br><span class="line">1621</span><br><span class="line">1622</span><br><span class="line">1623</span><br><span class="line">1624</span><br><span class="line">1625</span><br><span class="line">1626</span><br><span class="line">1627</span><br><span class="line">1628</span><br><span class="line">1629</span><br><span class="line">1630</span><br><span class="line">1631</span><br><span class="line">1632</span><br><span class="line">1633</span><br><span class="line">1634</span><br><span class="line">1635</span><br><span class="line">1636</span><br><span class="line">1637</span><br><span class="line">1638</span><br><span class="line">1639</span><br><span class="line">1640</span><br><span class="line">1641</span><br><span class="line">1642</span><br><span class="line">1643</span><br><span class="line">1644</span><br><span class="line">1645</span><br><span class="line">1646</span><br><span class="line">1647</span><br><span class="line">1648</span><br><span class="line">1649</span><br><span class="line">1650</span><br><span class="line">1651</span><br><span class="line">1652</span><br><span class="line">1653</span><br><span class="line">1654</span><br><span class="line">1655</span><br><span class="line">1656</span><br><span class="line">1657</span><br><span class="line">1658</span><br><span class="line">1659</span><br><span class="line">1660</span><br><span class="line">1661</span><br><span class="line">1662</span><br><span class="line">1663</span><br><span class="line">1664</span><br><span class="line">1665</span><br><span class="line">1666</span><br><span class="line">1667</span><br><span class="line">1668</span><br><span class="line">1669</span><br><span class="line">1670</span><br><span class="line">1671</span><br><span class="line">1672</span><br><span class="line">1673</span><br><span class="line">1674</span><br><span class="line">1675</span><br><span class="line">1676</span><br><span class="line">1677</span><br><span class="line">1678</span><br><span class="line">1679</span><br><span class="line">1680</span><br><span class="line">1681</span><br><span class="line">1682</span><br><span class="line">1683</span><br><span class="line">1684</span><br><span class="line">1685</span><br><span class="line">1686</span><br><span class="line">1687</span><br><span class="line">1688</span><br><span class="line">1689</span><br><span class="line">1690</span><br><span class="line">1691</span><br><span class="line">1692</span><br><span class="line">1693</span><br><span class="line">1694</span><br><span class="line">1695</span><br><span class="line">1696</span><br><span class="line">1697</span><br><span class="line">1698</span><br><span class="line">1699</span><br><span class="line">1700</span><br><span class="line">1701</span><br><span class="line">1702</span><br><span class="line">1703</span><br><span class="line">1704</span><br><span class="line">1705</span><br><span class="line">1706</span><br><span class="line">1707</span><br><span class="line">1708</span><br><span class="line">1709</span><br><span class="line">1710</span><br><span class="line">1711</span><br><span class="line">1712</span><br><span class="line">1713</span><br><span class="line">1714</span><br><span class="line">1715</span><br><span class="line">1716</span><br><span class="line">1717</span><br><span class="line">1718</span><br><span class="line">1719</span><br><span class="line">1720</span><br><span class="line">1721</span><br><span class="line">1722</span><br><span class="line">1723</span><br><span class="line">1724</span><br><span class="line">1725</span><br><span class="line">1726</span><br><span class="line">1727</span><br><span class="line">1728</span><br><span class="line">1729</span><br><span class="line">1730</span><br><span class="line">1731</span><br><span class="line">1732</span><br><span class="line">1733</span><br><span class="line">1734</span><br><span class="line">1735</span><br><span class="line">1736</span><br><span class="line">1737</span><br><span class="line">1738</span><br><span class="line">1739</span><br><span class="line">1740</span><br><span class="line">1741</span><br><span class="line">1742</span><br><span class="line">1743</span><br><span class="line">1744</span><br><span class="line">1745</span><br><span class="line">1746</span><br><span class="line">1747</span><br><span class="line">1748</span><br><span class="line">1749</span><br><span class="line">1750</span><br><span class="line">1751</span><br><span class="line">1752</span><br><span class="line">1753</span><br><span class="line">1754</span><br><span class="line">1755</span><br><span class="line">1756</span><br><span class="line">1757</span><br><span class="line">1758</span><br><span class="line">1759</span><br><span class="line">1760</span><br><span class="line">1761</span><br><span class="line">1762</span><br><span class="line">1763</span><br><span class="line">1764</span><br><span class="line">1765</span><br><span class="line">1766</span><br><span class="line">1767</span><br><span class="line">1768</span><br><span class="line">1769</span><br><span class="line">1770</span><br><span class="line">1771</span><br><span class="line">1772</span><br><span class="line">1773</span><br><span class="line">1774</span><br><span class="line">1775</span><br><span class="line">1776</span><br><span class="line">1777</span><br><span class="line">1778</span><br><span class="line">1779</span><br><span class="line">1780</span><br><span class="line">1781</span><br><span class="line">1782</span><br><span class="line">1783</span><br><span class="line">1784</span><br><span class="line">1785</span><br><span class="line">1786</span><br><span class="line">1787</span><br><span class="line">1788</span><br><span class="line">1789</span><br><span class="line">1790</span><br><span class="line">1791</span><br><span class="line">1792</span><br><span class="line">1793</span><br><span class="line">1794</span><br><span class="line">1795</span><br><span class="line">1796</span><br><span class="line">1797</span><br><span class="line">1798</span><br><span class="line">1799</span><br><span class="line">1800</span><br><span class="line">1801</span><br><span class="line">1802</span><br><span class="line">1803</span><br><span class="line">1804</span><br><span class="line">1805</span><br><span class="line">1806</span><br><span class="line">1807</span><br><span class="line">1808</span><br><span class="line">1809</span><br><span class="line">1810</span><br><span class="line">1811</span><br><span class="line">1812</span><br><span class="line">1813</span><br><span class="line">1814</span><br><span class="line">1815</span><br><span class="line">1816</span><br><span class="line">1817</span><br><span class="line">1818</span><br><span class="line">1819</span><br><span class="line">1820</span><br><span class="line">1821</span><br><span class="line">1822</span><br><span class="line">1823</span><br><span class="line">1824</span><br><span class="line">1825</span><br><span class="line">1826</span><br><span class="line">1827</span><br><span class="line">1828</span><br><span class="line">1829</span><br><span class="line">1830</span><br><span class="line">1831</span><br><span class="line">1832</span><br><span class="line">1833</span><br><span class="line">1834</span><br><span class="line">1835</span><br><span class="line">1836</span><br><span class="line">1837</span><br><span class="line">1838</span><br><span class="line">1839</span><br><span class="line">1840</span><br><span class="line">1841</span><br><span class="line">1842</span><br><span class="line">1843</span><br><span class="line">1844</span><br><span class="line">1845</span><br><span class="line">1846</span><br><span class="line">1847</span><br><span class="line">1848</span><br><span class="line">1849</span><br><span class="line">1850</span><br><span class="line">1851</span><br><span class="line">1852</span><br><span class="line">1853</span><br><span class="line">1854</span><br><span class="line">1855</span><br><span class="line">1856</span><br><span class="line">1857</span><br><span class="line">1858</span><br><span class="line">1859</span><br><span class="line">1860</span><br><span class="line">1861</span><br><span class="line">1862</span><br><span class="line">1863</span><br><span class="line">1864</span><br><span class="line">1865</span><br><span class="line">1866</span><br><span class="line">1867</span><br><span class="line">1868</span><br><span class="line">1869</span><br><span class="line">1870</span><br><span class="line">1871</span><br><span class="line">1872</span><br><span class="line">1873</span><br><span class="line">1874</span><br><span class="line">1875</span><br><span class="line">1876</span><br><span class="line">1877</span><br><span class="line">1878</span><br><span class="line">1879</span><br><span class="line">1880</span><br><span class="line">1881</span><br><span class="line">1882</span><br><span class="line">1883</span><br><span class="line">1884</span><br><span class="line">1885</span><br><span class="line">1886</span><br><span class="line">1887</span><br><span class="line">1888</span><br><span class="line">1889</span><br><span class="line">1890</span><br><span class="line">1891</span><br><span class="line">1892</span><br><span class="line">1893</span><br><span class="line">1894</span><br><span class="line">1895</span><br><span class="line">1896</span><br><span class="line">1897</span><br><span class="line">1898</span><br><span class="line">1899</span><br><span class="line">1900</span><br><span class="line">1901</span><br><span class="line">1902</span><br><span class="line">1903</span><br><span class="line">1904</span><br><span class="line">1905</span><br><span class="line">1906</span><br><span class="line">1907</span><br><span class="line">1908</span><br><span class="line">1909</span><br><span class="line">1910</span><br><span class="line">1911</span><br><span class="line">1912</span><br><span class="line">1913</span><br><span class="line">1914</span><br><span class="line">1915</span><br><span class="line">1916</span><br><span class="line">1917</span><br><span class="line">1918</span><br><span class="line">1919</span><br><span class="line">1920</span><br><span class="line">1921</span><br><span class="line">1922</span><br><span class="line">1923</span><br><span class="line">1924</span><br><span class="line">1925</span><br><span class="line">1926</span><br><span class="line">1927</span><br><span class="line">1928</span><br><span class="line">1929</span><br><span class="line">1930</span><br><span class="line">1931</span><br><span class="line">1932</span><br><span class="line">1933</span><br><span class="line">1934</span><br><span class="line">1935</span><br><span class="line">1936</span><br><span class="line">1937</span><br><span class="line">1938</span><br><span class="line">1939</span><br><span class="line">1940</span><br><span class="line">1941</span><br><span class="line">1942</span><br><span class="line">1943</span><br><span class="line">1944</span><br><span class="line">1945</span><br><span class="line">1946</span><br><span class="line">1947</span><br><span class="line">1948</span><br><span class="line">1949</span><br><span class="line">1950</span><br><span class="line">1951</span><br><span class="line">1952</span><br><span class="line">1953</span><br><span class="line">1954</span><br><span class="line">1955</span><br><span class="line">1956</span><br><span class="line">1957</span><br><span class="line">1958</span><br><span class="line">1959</span><br><span class="line">1960</span><br><span class="line">1961</span><br><span class="line">1962</span><br><span class="line">1963</span><br><span class="line">1964</span><br><span class="line">1965</span><br><span class="line">1966</span><br><span class="line">1967</span><br><span class="line">1968</span><br><span class="line">1969</span><br><span class="line">1970</span><br><span class="line">1971</span><br><span class="line">1972</span><br><span class="line">1973</span><br><span class="line">1974</span><br><span class="line">1975</span><br><span class="line">1976</span><br><span class="line">1977</span><br><span class="line">1978</span><br><span class="line">1979</span><br><span class="line">1980</span><br><span class="line">1981</span><br><span class="line">1982</span><br><span class="line">1983</span><br><span class="line">1984</span><br><span class="line">1985</span><br><span class="line">1986</span><br><span class="line">1987</span><br><span class="line">1988</span><br><span class="line">1989</span><br><span class="line">1990</span><br><span class="line">1991</span><br><span class="line">1992</span><br><span class="line">1993</span><br><span class="line">1994</span><br><span class="line">1995</span><br><span class="line">1996</span><br><span class="line">1997</span><br><span class="line">1998</span><br><span class="line">1999</span><br><span class="line">2000</span><br><span class="line">2001</span><br><span class="line">2002</span><br><span class="line">2003</span><br><span class="line">2004</span><br><span class="line">2005</span><br><span class="line">2006</span><br><span class="line">2007</span><br><span class="line">2008</span><br><span class="line">2009</span><br><span class="line">2010</span><br><span class="line">2011</span><br><span class="line">2012</span><br><span class="line">2013</span><br><span class="line">2014</span><br><span class="line">2015</span><br><span class="line">2016</span><br><span class="line">2017</span><br><span class="line">2018</span><br><span class="line">2019</span><br><span class="line">2020</span><br><span class="line">2021</span><br><span class="line">2022</span><br><span class="line">2023</span><br><span class="line">2024</span><br><span class="line">2025</span><br><span class="line">2026</span><br><span class="line">2027</span><br><span class="line">2028</span><br><span class="line">2029</span><br><span class="line">2030</span><br><span class="line">2031</span><br><span class="line">2032</span><br><span class="line">2033</span><br><span class="line">2034</span><br><span class="line">2035</span><br><span class="line">2036</span><br><span class="line">2037</span><br><span class="line">2038</span><br><span class="line">2039</span><br><span class="line">2040</span><br><span class="line">2041</span><br><span class="line">2042</span><br><span class="line">2043</span><br><span class="line">2044</span><br><span class="line">2045</span><br><span class="line">2046</span><br><span class="line">2047</span><br><span class="line">2048</span><br><span class="line">2049</span><br><span class="line">2050</span><br><span class="line">2051</span><br><span class="line">2052</span><br><span class="line">2053</span><br><span class="line">2054</span><br><span class="line">2055</span><br><span class="line">2056</span><br><span class="line">2057</span><br><span class="line">2058</span><br><span class="line">2059</span><br><span class="line">2060</span><br><span class="line">2061</span><br><span class="line">2062</span><br><span class="line">2063</span><br><span class="line">2064</span><br><span class="line">2065</span><br><span class="line">2066</span><br><span class="line">2067</span><br><span class="line">2068</span><br><span class="line">2069</span><br><span class="line">2070</span><br><span class="line">2071</span><br><span class="line">2072</span><br><span class="line">2073</span><br><span class="line">2074</span><br><span class="line">2075</span><br><span class="line">2076</span><br><span class="line">2077</span><br><span class="line">2078</span><br><span class="line">2079</span><br><span class="line">2080</span><br><span class="line">2081</span><br><span class="line">2082</span><br><span class="line">2083</span><br><span class="line">2084</span><br><span class="line">2085</span><br><span class="line">2086</span><br><span class="line">2087</span><br><span class="line">2088</span><br><span class="line">2089</span><br><span class="line">2090</span><br><span class="line">2091</span><br><span class="line">2092</span><br><span class="line">2093</span><br><span class="line">2094</span><br><span class="line">2095</span><br><span class="line">2096</span><br><span class="line">2097</span><br><span class="line">2098</span><br><span class="line">2099</span><br><span class="line">2100</span><br><span class="line">2101</span><br><span class="line">2102</span><br><span class="line">2103</span><br><span class="line">2104</span><br><span class="line">2105</span><br><span class="line">2106</span><br><span class="line">2107</span><br><span class="line">2108</span><br><span class="line">2109</span><br><span class="line">2110</span><br><span class="line">2111</span><br><span class="line">2112</span><br><span class="line">2113</span><br><span class="line">2114</span><br><span class="line">2115</span><br><span class="line">2116</span><br><span class="line">2117</span><br><span class="line">2118</span><br><span class="line">2119</span><br><span class="line">2120</span><br><span class="line">2121</span><br><span class="line">2122</span><br><span class="line">2123</span><br><span class="line">2124</span><br><span class="line">2125</span><br><span class="line">2126</span><br><span class="line">2127</span><br><span class="line">2128</span><br><span class="line">2129</span><br><span class="line">2130</span><br><span class="line">2131</span><br><span class="line">2132</span><br><span class="line">2133</span><br><span class="line">2134</span><br><span class="line">2135</span><br><span class="line">2136</span><br><span class="line">2137</span><br><span class="line">2138</span><br><span class="line">2139</span><br><span class="line">2140</span><br><span class="line">2141</span><br><span class="line">2142</span><br><span class="line">2143</span><br><span class="line">2144</span><br><span class="line">2145</span><br><span class="line">2146</span><br><span class="line">2147</span><br><span class="line">2148</span><br><span class="line">2149</span><br><span class="line">2150</span><br><span class="line">2151</span><br><span class="line">2152</span><br><span class="line">2153</span><br><span class="line">2154</span><br><span class="line">2155</span><br><span class="line">2156</span><br><span class="line">2157</span><br><span class="line">2158</span><br><span class="line">2159</span><br><span class="line">2160</span><br><span class="line">2161</span><br><span class="line">2162</span><br><span class="line">2163</span><br><span class="line">2164</span><br><span class="line">2165</span><br><span class="line">2166</span><br><span class="line">2167</span><br><span class="line">2168</span><br><span class="line">2169</span><br><span class="line">2170</span><br><span class="line">2171</span><br><span class="line">2172</span><br><span class="line">2173</span><br><span class="line">2174</span><br><span class="line">2175</span><br><span class="line">2176</span><br><span class="line">2177</span><br><span class="line">2178</span><br><span class="line">2179</span><br><span class="line">2180</span><br><span class="line">2181</span><br><span class="line">2182</span><br><span class="line">2183</span><br><span class="line">2184</span><br><span class="line">2185</span><br><span class="line">2186</span><br><span class="line">2187</span><br><span class="line">2188</span><br><span class="line">2189</span><br><span class="line">2190</span><br><span class="line">2191</span><br><span class="line">2192</span><br><span class="line">2193</span><br><span class="line">2194</span><br><span class="line">2195</span><br><span class="line">2196</span><br><span class="line">2197</span><br><span class="line">2198</span><br><span class="line">2199</span><br><span class="line">2200</span><br><span class="line">2201</span><br><span class="line">2202</span><br><span class="line">2203</span><br><span class="line">2204</span><br><span class="line">2205</span><br><span class="line">2206</span><br><span class="line">2207</span><br><span class="line">2208</span><br><span class="line">2209</span><br><span class="line">2210</span><br><span class="line">2211</span><br><span class="line">2212</span><br><span class="line">2213</span><br><span class="line">2214</span><br><span class="line">2215</span><br><span class="line">2216</span><br><span class="line">2217</span><br><span class="line">2218</span><br><span class="line">2219</span><br><span class="line">2220</span><br><span class="line">2221</span><br><span class="line">2222</span><br><span class="line">2223</span><br><span class="line">2224</span><br><span class="line">2225</span><br><span class="line">2226</span><br><span class="line">2227</span><br><span class="line">2228</span><br><span class="line">2229</span><br><span class="line">2230</span><br><span class="line">2231</span><br><span class="line">2232</span><br><span class="line">2233</span><br><span class="line">2234</span><br><span class="line">2235</span><br><span class="line">2236</span><br><span class="line">2237</span><br><span class="line">2238</span><br><span class="line">2239</span><br><span class="line">2240</span><br><span class="line">2241</span><br><span class="line">2242</span><br><span class="line">2243</span><br><span class="line">2244</span><br><span class="line">2245</span><br><span class="line">2246</span><br><span class="line">2247</span><br><span class="line">2248</span><br><span class="line">2249</span><br><span class="line">2250</span><br><span class="line">2251</span><br><span class="line">2252</span><br><span class="line">2253</span><br><span class="line">2254</span><br><span class="line">2255</span><br><span class="line">2256</span><br><span class="line">2257</span><br><span class="line">2258</span><br><span class="line">2259</span><br><span class="line">2260</span><br><span class="line">2261</span><br><span class="line">2262</span><br><span class="line">2263</span><br><span class="line">2264</span><br><span class="line">2265</span><br><span class="line">2266</span><br><span class="line">2267</span><br><span class="line">2268</span><br><span class="line">2269</span><br><span class="line">2270</span><br><span class="line">2271</span><br><span class="line">2272</span><br><span class="line">2273</span><br><span class="line">2274</span><br><span class="line">2275</span><br><span class="line">2276</span><br><span class="line">2277</span><br><span class="line">2278</span><br><span class="line">2279</span><br><span class="line">2280</span><br><span class="line">2281</span><br><span class="line">2282</span><br><span class="line">2283</span><br><span class="line">2284</span><br><span class="line">2285</span><br><span class="line">2286</span><br><span class="line">2287</span><br><span class="line">2288</span><br><span class="line">2289</span><br><span class="line">2290</span><br><span class="line">2291</span><br><span class="line">2292</span><br><span class="line">2293</span><br><span class="line">2294</span><br><span class="line">2295</span><br><span class="line">2296</span><br><span class="line">2297</span><br><span class="line">2298</span><br><span class="line">2299</span><br><span class="line">2300</span><br><span class="line">2301</span><br><span class="line">2302</span><br><span class="line">2303</span><br><span class="line">2304</span><br><span class="line">2305</span><br><span class="line">2306</span><br><span class="line">2307</span><br><span class="line">2308</span><br><span class="line">2309</span><br><span class="line">2310</span><br><span class="line">2311</span><br><span class="line">2312</span><br><span class="line">2313</span><br><span class="line">2314</span><br><span class="line">2315</span><br><span class="line">2316</span><br><span class="line">2317</span><br><span class="line">2318</span><br><span class="line">2319</span><br><span class="line">2320</span><br><span class="line">2321</span><br><span class="line">2322</span><br><span class="line">2323</span><br><span class="line">2324</span><br><span class="line">2325</span><br><span class="line">2326</span><br><span class="line">2327</span><br><span class="line">2328</span><br><span class="line">2329</span><br><span class="line">2330</span><br><span class="line">2331</span><br><span class="line">2332</span><br><span class="line">2333</span><br><span class="line">2334</span><br><span class="line">2335</span><br><span class="line">2336</span><br><span class="line">2337</span><br><span class="line">2338</span><br><span class="line">2339</span><br><span class="line">2340</span><br><span class="line">2341</span><br><span class="line">2342</span><br><span class="line">2343</span><br><span class="line">2344</span><br><span class="line">2345</span><br><span class="line">2346</span><br><span class="line">2347</span><br><span class="line">2348</span><br><span class="line">2349</span><br><span class="line">2350</span><br><span class="line">2351</span><br><span class="line">2352</span><br><span class="line">2353</span><br><span class="line">2354</span><br><span class="line">2355</span><br><span class="line">2356</span><br><span class="line">2357</span><br><span class="line">2358</span><br><span class="line">2359</span><br><span class="line">2360</span><br><span class="line">2361</span><br><span class="line">2362</span><br><span class="line">2363</span><br><span class="line">2364</span><br><span class="line">2365</span><br><span class="line">2366</span><br><span class="line">2367</span><br><span class="line">2368</span><br><span class="line">2369</span><br><span class="line">2370</span><br><span class="line">2371</span><br><span class="line">2372</span><br><span class="line">2373</span><br><span class="line">2374</span><br><span class="line">2375</span><br><span class="line">2376</span><br><span class="line">2377</span><br><span class="line">2378</span><br><span class="line">2379</span><br><span class="line">2380</span><br><span class="line">2381</span><br><span class="line">2382</span><br><span class="line">2383</span><br><span class="line">2384</span><br><span class="line">2385</span><br><span class="line">2386</span><br><span class="line">2387</span><br><span class="line">2388</span><br><span class="line">2389</span><br><span class="line">2390</span><br><span class="line">2391</span><br><span class="line">2392</span><br><span class="line">2393</span><br><span class="line">2394</span><br><span class="line">2395</span><br><span class="line">2396</span><br><span class="line">2397</span><br><span class="line">2398</span><br><span class="line">2399</span><br><span class="line">2400</span><br><span class="line">2401</span><br><span class="line">2402</span><br><span class="line">2403</span><br><span class="line">2404</span><br><span class="line">2405</span><br><span class="line">2406</span><br><span class="line">2407</span><br><span class="line">2408</span><br><span class="line">2409</span><br><span class="line">2410</span><br><span class="line">2411</span><br><span class="line">2412</span><br><span class="line">2413</span><br><span class="line">2414</span><br><span class="line">2415</span><br><span class="line">2416</span><br><span class="line">2417</span><br><span class="line">2418</span><br><span class="line">2419</span><br><span class="line">2420</span><br><span class="line">2421</span><br><span class="line">2422</span><br><span class="line">2423</span><br><span class="line">2424</span><br><span class="line">2425</span><br><span class="line">2426</span><br><span class="line">2427</span><br><span class="line">2428</span><br><span class="line">2429</span><br><span class="line">2430</span><br><span class="line">2431</span><br><span class="line">2432</span><br><span class="line">2433</span><br><span class="line">2434</span><br><span class="line">2435</span><br><span class="line">2436</span><br><span class="line">2437</span><br><span class="line">2438</span><br><span class="line">2439</span><br><span class="line">2440</span><br><span class="line">2441</span><br><span class="line">2442</span><br><span class="line">2443</span><br><span class="line">2444</span><br><span class="line">2445</span><br><span class="line">2446</span><br><span class="line">2447</span><br><span class="line">2448</span><br><span class="line">2449</span><br><span class="line">2450</span><br><span class="line">2451</span><br><span class="line">2452</span><br><span class="line">2453</span><br><span class="line">2454</span><br><span class="line">2455</span><br><span class="line">2456</span><br><span class="line">2457</span><br><span class="line">2458</span><br><span class="line">2459</span><br><span class="line">2460</span><br><span class="line">2461</span><br><span class="line">2462</span><br><span class="line">2463</span><br><span class="line">2464</span><br><span class="line">2465</span><br><span class="line">2466</span><br><span class="line">2467</span><br><span class="line">2468</span><br><span class="line">2469</span><br><span class="line">2470</span><br><span class="line">2471</span><br><span class="line">2472</span><br><span class="line">2473</span><br><span class="line">2474</span><br><span class="line">2475</span><br><span class="line">2476</span><br><span class="line">2477</span><br><span class="line">2478</span><br><span class="line">2479</span><br><span class="line">2480</span><br><span class="line">2481</span><br><span class="line">2482</span><br><span class="line">2483</span><br><span class="line">2484</span><br><span class="line">2485</span><br><span class="line">2486</span><br><span class="line">2487</span><br><span class="line">2488</span><br><span class="line">2489</span><br><span class="line">2490</span><br><span class="line">2491</span><br><span class="line">2492</span><br><span class="line">2493</span><br><span class="line">2494</span><br><span class="line">2495</span><br><span class="line">2496</span><br><span class="line">2497</span><br><span class="line">2498</span><br><span class="line">2499</span><br><span class="line">2500</span><br><span class="line">2501</span><br><span class="line">2502</span><br><span class="line">2503</span><br><span class="line">2504</span><br><span class="line">2505</span><br><span class="line">2506</span><br><span class="line">2507</span><br><span class="line">2508</span><br><span class="line">2509</span><br><span class="line">2510</span><br><span class="line">2511</span><br><span class="line">2512</span><br><span class="line">2513</span><br><span class="line">2514</span><br><span class="line">2515</span><br><span class="line">2516</span><br><span class="line">2517</span><br><span class="line">2518</span><br><span class="line">2519</span><br><span class="line">2520</span><br><span class="line">2521</span><br><span class="line">2522</span><br><span class="line">2523</span><br><span class="line">2524</span><br><span class="line">2525</span><br><span class="line">2526</span><br><span class="line">2527</span><br><span class="line">2528</span><br><span class="line">2529</span><br><span class="line">2530</span><br><span class="line">2531</span><br><span class="line">2532</span><br><span class="line">2533</span><br><span class="line">2534</span><br><span class="line">2535</span><br><span class="line">2536</span><br><span class="line">2537</span><br><span class="line">2538</span><br><span class="line">2539</span><br><span class="line">2540</span><br><span class="line">2541</span><br><span class="line">2542</span><br><span class="line">2543</span><br><span class="line">2544</span><br><span class="line">2545</span><br><span class="line">2546</span><br><span class="line">2547</span><br><span class="line">2548</span><br><span class="line">2549</span><br><span class="line">2550</span><br><span class="line">2551</span><br><span class="line">2552</span><br><span class="line">2553</span><br><span class="line">2554</span><br><span class="line">2555</span><br><span class="line">2556</span><br><span class="line">2557</span><br><span class="line">2558</span><br><span class="line">2559</span><br><span class="line">2560</span><br><span class="line">2561</span><br><span class="line">2562</span><br><span class="line">2563</span><br><span class="line">2564</span><br><span class="line">2565</span><br><span class="line">2566</span><br><span class="line">2567</span><br><span class="line">2568</span><br><span class="line">2569</span><br><span class="line">2570</span><br><span class="line">2571</span><br><span class="line">2572</span><br><span class="line">2573</span><br><span class="line">2574</span><br><span class="line">2575</span><br><span class="line">2576</span><br><span class="line">2577</span><br><span class="line">2578</span><br><span class="line">2579</span><br><span class="line">2580</span><br><span class="line">2581</span><br><span class="line">2582</span><br><span class="line">2583</span><br><span class="line">2584</span><br><span class="line">2585</span><br><span class="line">2586</span><br><span class="line">2587</span><br><span class="line">2588</span><br><span class="line">2589</span><br><span class="line">2590</span><br><span class="line">2591</span><br><span class="line">2592</span><br><span class="line">2593</span><br><span class="line">2594</span><br><span class="line">2595</span><br><span class="line">2596</span><br><span class="line">2597</span><br><span class="line">2598</span><br><span class="line">2599</span><br><span class="line">2600</span><br><span class="line">2601</span><br><span class="line">2602</span><br><span class="line">2603</span><br><span class="line">2604</span><br><span class="line">2605</span><br><span class="line">2606</span><br><span class="line">2607</span><br><span class="line">2608</span><br><span class="line">2609</span><br><span class="line">2610</span><br><span class="line">2611</span><br><span class="line">2612</span><br><span class="line">2613</span><br><span class="line">2614</span><br><span class="line">2615</span><br><span class="line">2616</span><br><span class="line">2617</span><br><span class="line">2618</span><br><span class="line">2619</span><br><span class="line">2620</span><br><span class="line">2621</span><br><span class="line">2622</span><br><span class="line">2623</span><br><span class="line">2624</span><br><span class="line">2625</span><br><span class="line">2626</span><br><span class="line">2627</span><br><span class="line">2628</span><br><span class="line">2629</span><br><span class="line">2630</span><br><span class="line">2631</span><br><span class="line">2632</span><br><span class="line">2633</span><br><span class="line">2634</span><br><span class="line">2635</span><br><span class="line">2636</span><br><span class="line">2637</span><br><span class="line">2638</span><br><span class="line">2639</span><br><span class="line">2640</span><br><span class="line">2641</span><br><span class="line">2642</span><br><span class="line">2643</span><br><span class="line">2644</span><br><span class="line">2645</span><br><span class="line">2646</span><br><span class="line">2647</span><br><span class="line">2648</span><br><span class="line">2649</span><br><span class="line">2650</span><br><span class="line">2651</span><br><span class="line">2652</span><br><span class="line">2653</span><br><span class="line">2654</span><br><span class="line">2655</span><br><span class="line">2656</span><br><span class="line">2657</span><br><span class="line">2658</span><br><span class="line">2659</span><br><span class="line">2660</span><br><span class="line">2661</span><br><span class="line">2662</span><br><span class="line">2663</span><br><span class="line">2664</span><br><span class="line">2665</span><br><span class="line">2666</span><br><span class="line">2667</span><br><span class="line">2668</span><br><span class="line">2669</span><br><span class="line">2670</span><br><span class="line">2671</span><br><span class="line">2672</span><br><span class="line">2673</span><br><span class="line">2674</span><br><span class="line">2675</span><br><span class="line">2676</span><br><span class="line">2677</span><br><span class="line">2678</span><br><span class="line">2679</span><br><span class="line">2680</span><br><span class="line">2681</span><br><span class="line">2682</span><br><span class="line">2683</span><br><span class="line">2684</span><br><span class="line">2685</span><br><span class="line">2686</span><br><span class="line">2687</span><br><span class="line">2688</span><br><span class="line">2689</span><br><span class="line">2690</span><br><span class="line">2691</span><br><span class="line">2692</span><br><span class="line">2693</span><br><span class="line">2694</span><br><span class="line">2695</span><br><span class="line">2696</span><br><span class="line">2697</span><br><span class="line">2698</span><br><span class="line">2699</span><br><span class="line">2700</span><br><span class="line">2701</span><br><span class="line">2702</span><br><span class="line">2703</span><br><span class="line">2704</span><br><span class="line">2705</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"face"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"realm"</span><span class="punctuation">:</span> <span class="string">"face"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultSignatureAlgorithm"</span><span class="punctuation">:</span> <span class="string">"RS256"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"revokeRefreshToken"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"refreshTokenMaxReuse"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"accessTokenLifespan"</span><span class="punctuation">:</span> <span class="number">7200</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"accessTokenLifespanForImplicitFlow"</span><span class="punctuation">:</span> <span class="number">900</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"ssoSessionIdleTimeout"</span><span class="punctuation">:</span> <span class="number">604800</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"ssoSessionMaxLifespan"</span><span class="punctuation">:</span> <span class="number">36000</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"ssoSessionIdleTimeoutRememberMe"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"ssoSessionMaxLifespanRememberMe"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"offlineSessionIdleTimeout"</span><span class="punctuation">:</span> <span class="number">2592000</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"offlineSessionMaxLifespanEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"offlineSessionMaxLifespan"</span><span class="punctuation">:</span> <span class="number">5184000</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientSessionIdleTimeout"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientSessionMaxLifespan"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientOfflineSessionIdleTimeout"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientOfflineSessionMaxLifespan"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"accessCodeLifespan"</span><span class="punctuation">:</span> <span class="number">60</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"accessCodeLifespanUserAction"</span><span class="punctuation">:</span> <span class="number">300</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"accessCodeLifespanLogin"</span><span class="punctuation">:</span> <span class="number">1800</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"actionTokenGeneratedByAdminLifespan"</span><span class="punctuation">:</span> <span class="number">43200</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"actionTokenGeneratedByUserLifespan"</span><span class="punctuation">:</span> <span class="number">300</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"oauth2DeviceCodeLifespan"</span><span class="punctuation">:</span> <span class="number">600</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"oauth2DevicePollingInterval"</span><span class="punctuation">:</span> <span class="number">5</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"sslRequired"</span><span class="punctuation">:</span> <span class="string">"external"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"registrationAllowed"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"registrationEmailAsUsername"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"rememberMe"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"verifyEmail"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"loginWithEmailAllowed"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"duplicateEmailsAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"resetPasswordAllowed"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"editUsernameAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"bruteForceProtected"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"permanentLockout"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"maxFailureWaitSeconds"</span><span class="punctuation">:</span> <span class="number">900</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"minimumQuickLoginWaitSeconds"</span><span class="punctuation">:</span> <span class="number">60</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"waitIncrementSeconds"</span><span class="punctuation">:</span> <span class="number">60</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"quickLoginCheckMilliSeconds"</span><span class="punctuation">:</span> <span class="number">1000</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"maxDeltaTimeSeconds"</span><span class="punctuation">:</span> <span class="number">43200</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"failureFactor"</span><span class="punctuation">:</span> <span class="number">5</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"roles"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"realm"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"cb012a8b-2cbf-409f-ab5e-4c98c3d65ffe"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_offline-access}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"face"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"5dfb8c7f-e7f1-41c9-8195-f68eccfb1ac1"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"admin"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"admin 用户"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"face"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"permissions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"add"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"d5e6e37d-b26b-4c8e-9f69-b537ae9553f2"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"uma_authorization"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_uma_authorization}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"face"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"6bd531b3-fda6-45c5-a16b-29e362eab525"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"default-roles-face"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_default-roles}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composites"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"realm"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"uma_authorization"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"client"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"account"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"manage-account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"view-profile"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"face"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"client"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"realm-management"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"e887fe2e-6c78-4c64-80ad-eece62d1195c"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"manage-authorization"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_manage-authorization}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b8da9403-2644-41df-861d-78843b072789"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"realm-admin"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_realm-admin}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composites"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"client"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"realm-management"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"manage-authorization"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"view-users"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"query-realms"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"query-users"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"query-clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"view-identity-providers"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-identity-providers"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"view-clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"query-groups"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"create-client"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"view-authorization"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-users"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-events"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"impersonation"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"view-events"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-realm"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"view-realm"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b129d109-712b-4dab-9fa7-a9568979ba41"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"view-users"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_view-users}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composites"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"client"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"realm-management"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"query-users"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"query-groups"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"f9d5907f-23f0-4ce3-b55b-837b08d49d72"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"query-realms"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_query-realms}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"a67cef16-1f4e-4a4a-ac72-00f9fe61214a"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"query-users"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_query-users}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"34339400-a694-420e-933c-797f566d1f09"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"query-clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_query-clients}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"8d7793b3-9bcc-427d-a0cf-d7306806cd59"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"view-identity-providers"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_view-identity-providers}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"97e0198b-b12b-4eea-8161-5c4c1078fc4c"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"manage-identity-providers"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_manage-identity-providers}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"f003c421-553b-4d21-9add-c3aaf80b8f6a"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"view-clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_view-clients}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composites"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"client"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"realm-management"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"query-clients"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"d1268f31-f18a-475d-b101-da5f22bfac22"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"manage-clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_manage-clients}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"92ec40c2-4da1-4c38-a7b8-b5c89320c894"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"query-groups"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_query-groups}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"4f978d3a-5f38-4c33-8c43-c857bcaf723a"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"create-client"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_create-client}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"9f714cd6-0a21-4cde-b183-5a730b54cc28"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"view-authorization"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_view-authorization}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"fb00a8d6-2fb4-459e-b047-6855c57ed63d"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"impersonation"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_impersonation}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"81da3506-9191-4ba2-98fc-82e02786c031"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"manage-events"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_manage-events}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"0825bac3-6ced-499d-99b8-24fa27d079f6"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"manage-users"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_manage-users}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"ddde9f8e-d81e-4bc0-a94d-81cf5a5db350"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"view-events"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_view-events}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"8ce6e0a0-d72b-4afd-830c-220a210fd2a8"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"manage-realm"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_manage-realm}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"4860fe76-d610-4eab-952a-cf88651bc8fd"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"view-realm"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_view-realm}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"anno"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"security-admin-console"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"service"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"ee77d2b0-2d84-4057-912f-63ccfe1aaf16"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"SADMIN"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"admin 用户"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"97afe8ed-3260-4cde-871f-4aecbd174041"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"admin-cli"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"account-console"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"broker"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b9e04e90-f216-44e5-9439-32935f07bb55"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"read-token"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_read-token}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"02cccb03-a9ef-4792-a246-270cc202c9d2"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"account"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"929d90b4-3ded-4c84-8c8e-4e7ce970010f"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"manage-account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_manage-account}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composites"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"client"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"account"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"manage-account-links"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"e2541145-83ae-4d87-83e3-a1dcd8f4e027"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"0f297aff-889b-4179-967f-5d48d1d54098"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"manage-account-links"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_manage-account-links}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"e2541145-83ae-4d87-83e3-a1dcd8f4e027"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"5218855f-7e91-4dfb-a4fb-9e3721b2f2b2"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"delete-account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_delete-account}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"e2541145-83ae-4d87-83e3-a1dcd8f4e027"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"d26640bd-f5bf-4337-baa2-f2817f1950e0"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"view-consent"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_view-consent}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"e2541145-83ae-4d87-83e3-a1dcd8f4e027"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"2708c4d4-f8f4-4b3f-9413-d9240cba1237"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"view-applications"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_view-applications}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"e2541145-83ae-4d87-83e3-a1dcd8f4e027"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"54733133-06c1-4957-9b59-31483d763ceb"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"manage-consent"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_manage-consent}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composites"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"client"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"account"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"view-consent"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"e2541145-83ae-4d87-83e3-a1dcd8f4e027"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"4a44257b-a3b3-4f56-b310-70a9e0bf965e"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"view-profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_view-profile}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"e2541145-83ae-4d87-83e3-a1dcd8f4e027"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"open-front"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"groups"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultRole"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"6bd531b3-fda6-45c5-a16b-29e362eab525"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"default-roles-face"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"${role_default-roles}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"composite"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"containerId"</span><span class="punctuation">:</span> <span class="string">"face"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requiredCredentials"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"password"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"otpPolicyType"</span><span class="punctuation">:</span> <span class="string">"totp"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"otpPolicyAlgorithm"</span><span class="punctuation">:</span> <span class="string">"HmacSHA1"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"otpPolicyInitialCounter"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"otpPolicyDigits"</span><span class="punctuation">:</span> <span class="number">6</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"otpPolicyLookAheadWindow"</span><span class="punctuation">:</span> <span class="number">1</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"otpPolicyPeriod"</span><span class="punctuation">:</span> <span class="number">30</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"otpSupportedApplications"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"FreeOTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"Google Authenticator"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyRpEntityName"</span><span class="punctuation">:</span> <span class="string">"keycloak"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicySignatureAlgorithms"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"ES256"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyRpId"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyAttestationConveyancePreference"</span><span class="punctuation">:</span> <span class="string">"not specified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyAuthenticatorAttachment"</span><span class="punctuation">:</span> <span class="string">"not specified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyRequireResidentKey"</span><span class="punctuation">:</span> <span class="string">"not specified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyUserVerificationRequirement"</span><span class="punctuation">:</span> <span class="string">"not specified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyCreateTimeout"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyAvoidSameAuthenticatorRegister"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyAcceptableAaguids"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyPasswordlessRpEntityName"</span><span class="punctuation">:</span> <span class="string">"keycloak"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyPasswordlessSignatureAlgorithms"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"ES256"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyPasswordlessRpId"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyPasswordlessAttestationConveyancePreference"</span><span class="punctuation">:</span> <span class="string">"not specified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyPasswordlessAuthenticatorAttachment"</span><span class="punctuation">:</span> <span class="string">"not specified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyPasswordlessRequireResidentKey"</span><span class="punctuation">:</span> <span class="string">"not specified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyPasswordlessUserVerificationRequirement"</span><span class="punctuation">:</span> <span class="string">"not specified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyPasswordlessCreateTimeout"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webAuthnPolicyPasswordlessAcceptableAaguids"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"users"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"c0f5a305-8180-4ad0-9ee6-c7051f84d30d"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"createdTimestamp"</span><span class="punctuation">:</span> <span class="number">1667789794650</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"username"</span><span class="punctuation">:</span> <span class="string">"service-account-service"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"totp"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"emailVerified"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"serviceAccountClientId"</span><span class="punctuation">:</span> <span class="string">"service"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"disableableCredentialTypes"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requiredActions"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"realmRoles"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"default-roles-face"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientRoles"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"realm-management"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"manage-authorization"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"realm-admin"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"query-realms"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"query-users"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"query-clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-identity-providers"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"query-groups"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"create-client"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-users"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-events"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"impersonation"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-realm"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"broker"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"read-token"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"account"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"delete-account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"view-applications"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"manage-consent"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"groups"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"scopeMappings"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"clientScope"</span><span class="punctuation">:</span> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"roles"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"offline_access"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientScopeMappings"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"account"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"client"</span><span class="punctuation">:</span> <span class="string">"account-console"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"roles"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"manage-account"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clients"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"e2541145-83ae-4d87-83e3-a1dcd8f4e027"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientId"</span><span class="punctuation">:</span> <span class="string">"account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"${client_account}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"rootUrl"</span><span class="punctuation">:</span> <span class="string">"${authBaseUrl}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"baseUrl"</span><span class="punctuation">:</span> <span class="string">"/realms/face/account/"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"surrogateAuthRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alwaysDisplayInConsole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientAuthenticatorType"</span><span class="punctuation">:</span> <span class="string">"client-secret"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"redirectUris"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"/realms/face/account/*"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webOrigins"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"bearerOnly"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"standardFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"implicitFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"directAccessGrantsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"serviceAccountsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"publicClient"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"frontchannelLogout"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationFlowBindingOverrides"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"fullScopeAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"nodeReRegistrationTimeout"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"email"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"optionalClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"microprofile-jwt"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"bf228e7d-0ab7-41b8-8f5e-e4276bf43fef"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientId"</span><span class="punctuation">:</span> <span class="string">"account-console"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"${client_account-console}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"rootUrl"</span><span class="punctuation">:</span> <span class="string">"${authBaseUrl}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"baseUrl"</span><span class="punctuation">:</span> <span class="string">"/realms/face/account/"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"surrogateAuthRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alwaysDisplayInConsole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientAuthenticatorType"</span><span class="punctuation">:</span> <span class="string">"client-secret"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"redirectUris"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"/realms/face/account/*"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webOrigins"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"bearerOnly"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"standardFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"implicitFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"directAccessGrantsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"serviceAccountsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"publicClient"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"frontchannelLogout"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"pkce.code.challenge.method"</span><span class="punctuation">:</span> <span class="string">"S256"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationFlowBindingOverrides"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"fullScopeAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"nodeReRegistrationTimeout"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"9b9ce5ff-c4cb-4b6e-af0b-f895dcea3a97"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"audience resolve"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-audience-resolve-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"email"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"optionalClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"microprofile-jwt"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"33df6690-f9b1-4fd5-837e-235d42a893bc"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientId"</span><span class="punctuation">:</span> <span class="string">"admin-cli"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"${client_admin-cli}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"surrogateAuthRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alwaysDisplayInConsole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientAuthenticatorType"</span><span class="punctuation">:</span> <span class="string">"client-secret"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"redirectUris"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webOrigins"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"bearerOnly"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"standardFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"implicitFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"directAccessGrantsEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"serviceAccountsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"publicClient"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"frontchannelLogout"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationFlowBindingOverrides"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"fullScopeAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"nodeReRegistrationTimeout"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"email"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"optionalClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"microprofile-jwt"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"79f76ce7-1c3e-4f54-9e73-d8a9ba717ae1"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientId"</span><span class="punctuation">:</span> <span class="string">"anno"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"自动标注平台前端"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"surrogateAuthRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alwaysDisplayInConsole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientAuthenticatorType"</span><span class="punctuation">:</span> <span class="string">"client-secret"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"redirectUris"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"*"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webOrigins"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"*"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"bearerOnly"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"standardFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"implicitFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"directAccessGrantsEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"serviceAccountsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"publicClient"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"frontchannelLogout"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id.token.as.detached.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.assertion.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.force.post.binding"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.multivalued.roles"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.encrypt"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"oauth2.device.authorization.grant.enabled"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"backchannel.logout.revoke.offline.tokens"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.server.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.server.signature.keyinfo.ext"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"use.refresh.tokens"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"exclude.session.state.from.auth.response"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"oidc.ciba.grant.enabled"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.artifact.binding"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"backchannel.logout.session.required"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"client_credentials.use_refresh_token"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml_force_name_id_format"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"require.pushed.authorization.requests"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.client.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"tls.client.certificate.bound.access.tokens"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.authnstatement"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.onetimeuse.condition"</span><span class="punctuation">:</span> <span class="string">"false"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationFlowBindingOverrides"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"fullScopeAllowed"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"nodeReRegistrationTimeout"</span><span class="punctuation">:</span> <span class="number">-1</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"email"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"optionalClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"microprofile-jwt"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"02cccb03-a9ef-4792-a246-270cc202c9d2"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientId"</span><span class="punctuation">:</span> <span class="string">"broker"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"${client_broker}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"surrogateAuthRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alwaysDisplayInConsole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientAuthenticatorType"</span><span class="punctuation">:</span> <span class="string">"client-secret"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"redirectUris"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webOrigins"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"bearerOnly"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"standardFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"implicitFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"directAccessGrantsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"serviceAccountsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"publicClient"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"frontchannelLogout"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationFlowBindingOverrides"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"fullScopeAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"nodeReRegistrationTimeout"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"email"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"optionalClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"microprofile-jwt"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"35b9746f-9e47-45b0-a555-e1f4395ec888"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientId"</span><span class="punctuation">:</span> <span class="string">"open-front"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"surrogateAuthRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alwaysDisplayInConsole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientAuthenticatorType"</span><span class="punctuation">:</span> <span class="string">"client-secret"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"redirectUris"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"*"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webOrigins"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"bearerOnly"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"standardFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"implicitFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"directAccessGrantsEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"serviceAccountsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"publicClient"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"frontchannelLogout"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id.token.as.detached.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.assertion.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.force.post.binding"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.multivalued.roles"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.encrypt"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"oauth2.device.authorization.grant.enabled"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"backchannel.logout.revoke.offline.tokens"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.server.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.server.signature.keyinfo.ext"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"use.refresh.tokens"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"exclude.session.state.from.auth.response"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"oidc.ciba.grant.enabled"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.artifact.binding"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"backchannel.logout.session.required"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"client_credentials.use_refresh_token"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml_force_name_id_format"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"require.pushed.authorization.requests"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.client.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"tls.client.certificate.bound.access.tokens"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.authnstatement"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.onetimeuse.condition"</span><span class="punctuation">:</span> <span class="string">"false"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationFlowBindingOverrides"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"fullScopeAllowed"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"nodeReRegistrationTimeout"</span><span class="punctuation">:</span> <span class="number">-1</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"fe2b55d4-ffc6-441d-89a3-f3466b825200"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"avatar"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"avatar"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"avatar"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b85fa073-91ab-4c7e-870d-565690f0a267"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"role_attr"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-script-based-protocol-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"multivalued"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"permissions"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"JSON"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"script"</span><span class="punctuation">:</span> <span class="string">"/**\n * Available variables: \n * user - the current user\n * realm - the current realm\n * token - the current token\n * userSession - the current userSession\n * keycloakSession - the current keycloakSession\n */\n\n\n//insert your code here...\nvar roles = [];\nvar client = keycloakSession.getContext().getClient();\nuser.getRoleMappings().forEach(function(roleModel) {\n \n var attr = {};\n var names = {};\n var rn = roleModel.getName();\n var map = roleModel.getAttributes();\n map.forEach(function(key, value){\n attr[key] = value;\n }); \n roles[rn] = attr;\n});\n\nexports = roles;"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"email"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"optionalClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"microprofile-jwt"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"7d60d9d1-dc1a-45c0-a685-0260afabe4b5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientId"</span><span class="punctuation">:</span> <span class="string">"realm-management"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"${client_realm-management}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"surrogateAuthRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alwaysDisplayInConsole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientAuthenticatorType"</span><span class="punctuation">:</span> <span class="string">"client-secret"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"redirectUris"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webOrigins"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"bearerOnly"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"standardFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"implicitFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"directAccessGrantsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"serviceAccountsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"publicClient"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"frontchannelLogout"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationFlowBindingOverrides"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"fullScopeAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"nodeReRegistrationTimeout"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"email"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"optionalClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"microprofile-jwt"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"6047c2b1-ac57-47d9-879c-5a15af6be259"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientId"</span><span class="punctuation">:</span> <span class="string">"security-admin-console"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"${client_security-admin-console}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"rootUrl"</span><span class="punctuation">:</span> <span class="string">"${authAdminUrl}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"baseUrl"</span><span class="punctuation">:</span> <span class="string">"/admin/face/console/"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"surrogateAuthRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alwaysDisplayInConsole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientAuthenticatorType"</span><span class="punctuation">:</span> <span class="string">"client-secret"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"redirectUris"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"/admin/face/console/*"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webOrigins"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"+"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"bearerOnly"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"standardFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"implicitFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"directAccessGrantsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"serviceAccountsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"publicClient"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"frontchannelLogout"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"pkce.code.challenge.method"</span><span class="punctuation">:</span> <span class="string">"S256"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationFlowBindingOverrides"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"fullScopeAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"nodeReRegistrationTimeout"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"d0ca9bb3-e9bb-4038-b2ae-85152d990956"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"locale"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"locale"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"locale"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"email"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"optionalClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"microprofile-jwt"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"97afe8ed-3260-4cde-871f-4aecbd174041"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientId"</span><span class="punctuation">:</span> <span class="string">"service"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"surrogateAuthRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alwaysDisplayInConsole"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientAuthenticatorType"</span><span class="punctuation">:</span> <span class="string">"client-secret"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"secret"</span><span class="punctuation">:</span> <span class="string">"**********"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"redirectUris"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"*"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"webOrigins"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"notBefore"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"bearerOnly"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"standardFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"implicitFlowEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"directAccessGrantsEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"serviceAccountsEnabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"publicClient"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"frontchannelLogout"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id.token.as.detached.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.assertion.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.force.post.binding"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.multivalued.roles"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.encrypt"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"oauth2.device.authorization.grant.enabled"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"backchannel.logout.revoke.offline.tokens"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.server.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.server.signature.keyinfo.ext"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"use.refresh.tokens"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"exclude.session.state.from.auth.response"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"oidc.ciba.grant.enabled"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.artifact.binding"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"backchannel.logout.session.required"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"client_credentials.use_refresh_token"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml_force_name_id_format"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"require.pushed.authorization.requests"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.client.signature"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"tls.client.certificate.bound.access.tokens"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.authnstatement"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"saml.onetimeuse.condition"</span><span class="punctuation">:</span> <span class="string">"false"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationFlowBindingOverrides"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"fullScopeAllowed"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"nodeReRegistrationTimeout"</span><span class="punctuation">:</span> <span class="number">-1</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"3a9b1805-ba3f-4d2c-a108-269a02c3f7e2"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Client IP Address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usersessionmodel-note-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"user.session.note"</span><span class="punctuation">:</span> <span class="string">"clientAddress"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"clientAddress"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"365a67bb-6f47-4b1b-96fc-26eff835723b"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Client Host"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usersessionmodel-note-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"user.session.note"</span><span class="punctuation">:</span> <span class="string">"clientHost"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"clientHost"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b5c7453d-39fc-4cf3-8e8c-82e5ec55cfbf"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Client ID"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usersessionmodel-note-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"user.session.note"</span><span class="punctuation">:</span> <span class="string">"clientId"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"clientId"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"email"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"optionalClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"microprofile-jwt"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"f81da97d-4e46-4a4e-8366-a678dd0415cc"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"OpenID Connect built-in scope: phone"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"include.in.token.scope"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consent.screen.text"</span><span class="punctuation">:</span> <span class="string">"${phoneScopeConsentText}"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b68fca07-f0b9-4b0f-b890-283bdc15471b"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"phone number"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"phoneNumber"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"phone_number"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b8301832-49a1-4763-a4cc-c1e7f2fcc335"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"phone number verified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"phoneNumberVerified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"phone_number_verified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"boolean"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"88d67f19-f7c1-45d5-ad75-7c1a0cc8ede4"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"OpenID Connect built-in scope: profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"include.in.token.scope"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consent.screen.text"</span><span class="punctuation">:</span> <span class="string">"${profileScopeConsentText}"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"96341031-7c6a-4a3c-b452-a02af3323b7f"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"picture"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"picture"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"picture"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b600b9c1-0467-4539-943f-0ae31296970d"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"full name"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-full-name-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"6d1c8d2e-533f-4b06-b348-02a3975f30fa"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"locale"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"locale"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"locale"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"8ac5f497-5268-4a12-ab12-1a31c1521ae4"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"website"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"website"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"website"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"5e951fa5-bad5-4422-96b7-fc8a9345774b"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"birthdate"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"birthdate"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"birthdate"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"4112ba8c-8867-4753-8d7d-12b0f38efcb2"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"nickname"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"nickname"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"nickname"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"4e081b21-047f-41ef-850a-d366927390ea"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"given name"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-property-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"firstName"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"given_name"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"34baaf5d-6f70-41fc-9bb0-66d9a715c81e"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"updated at"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"updatedAt"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"updated_at"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"8605b33b-08b5-468f-be81-40bf7f13ecfa"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"zoneinfo"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"zoneinfo"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"zoneinfo"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"ba40094e-863f-42b9-a90b-4ad670977441"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"username"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-property-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"username"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"preferred_username"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"0d9d9e02-bf58-400e-bf2c-dc0b81d4d66f"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"gender"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"gender"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"gender"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"5eed6af3-169e-4593-aa80-93f0e825f5ee"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"middle name"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"middleName"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"middle_name"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"f1baebe3-234e-475a-b81c-d5b48001084a"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"family name"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-property-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"lastName"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"family_name"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b938266e-2dbd-458a-ab3c-9226f6a6c597"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"df98bbeb-e280-44e8-acac-c5b58f1485bb"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"OpenID Connect scope for add user roles to the access token"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"include.in.token.scope"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consent.screen.text"</span><span class="punctuation">:</span> <span class="string">"${rolesScopeConsentText}"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"0bccd14c-3a34-49d2-ba99-647f1355a730"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"realm roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-realm-role-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"foo"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"realm_access.roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"multivalued"</span><span class="punctuation">:</span> <span class="string">"true"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"1b98f820-1f58-43e3-b6f5-ae9a6a223f63"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"client roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-client-role-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"foo"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"resource_access.${client_id}.roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"multivalued"</span><span class="punctuation">:</span> <span class="string">"true"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b8dec23b-ff52-440c-be1e-316892677498"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"audience resolve"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-audience-resolve-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"e400334b-efdc-46fe-a038-01e12eb957e8"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"email"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"OpenID Connect built-in scope: email"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"include.in.token.scope"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consent.screen.text"</span><span class="punctuation">:</span> <span class="string">"${emailScopeConsentText}"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"c02e0c31-8f84-46eb-9e58-251f0d29e3eb"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"email"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-property-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"email"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"email"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"9ac058b6-f90b-4a1a-8305-136240724c96"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"email verified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-property-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"emailVerified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"email_verified"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"boolean"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"f0f7cf0a-389d-4916-8ab5-6ebf3ad05ac3"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"microprofile-jwt"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Microprofile - JWT built-in scope"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"include.in.token.scope"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"false"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"8dea6e06-a422-483f-8406-2d50b8500d4d"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"groups"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-realm-role-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"multivalued"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"foo"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"groups"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"7bca3289-7391-4670-90bd-30ec36fe52e6"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"upn"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-usermodel-property-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute"</span><span class="punctuation">:</span> <span class="string">"username"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"claim.name"</span><span class="punctuation">:</span> <span class="string">"upn"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"jsonType.label"</span><span class="punctuation">:</span> <span class="string">"String"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"60b345bc-3212-4cde-b2af-1c4775b2bc82"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"role_list"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"SAML role list"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"saml"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"consent.screen.text"</span><span class="punctuation">:</span> <span class="string">"${samlRoleListScopeConsentText}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"true"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"67c661ae-56cf-4c5c-93ef-115944e6c08c"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"role list"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"saml"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"saml-role-list-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"single"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attribute.nameformat"</span><span class="punctuation">:</span> <span class="string">"Basic"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attribute.name"</span><span class="punctuation">:</span> <span class="string">"Role"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"61966b88-2b48-4441-9b44-ef1aa49bc1e3"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"OpenID Connect built-in scope: address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"include.in.token.scope"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consent.screen.text"</span><span class="punctuation">:</span> <span class="string">"${addressScopeConsentText}"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"4a7a7b84-a6f2-4818-a1dd-69bfb4cb5a39"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-address-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"user.attribute.formatted"</span><span class="punctuation">:</span> <span class="string">"formatted"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute.country"</span><span class="punctuation">:</span> <span class="string">"country"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute.postal_code"</span><span class="punctuation">:</span> <span class="string">"postal_code"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userinfo.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute.street"</span><span class="punctuation">:</span> <span class="string">"street"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"id.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute.region"</span><span class="punctuation">:</span> <span class="string">"region"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"access.token.claim"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user.attribute.locality"</span><span class="punctuation">:</span> <span class="string">"locality"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"70943452-0e72-4a68-aad5-75a1c7d66e6c"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"OpenID Connect built-in scope: offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"consent.screen.text"</span><span class="punctuation">:</span> <span class="string">"${offlineAccessScopeConsentText}"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"true"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"75050293-99fa-4de3-94f2-8c4b729a2b87"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"OpenID Connect scope for add allowed web origins to the access token"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"include.in.token.scope"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"display.on.consent.screen"</span><span class="punctuation">:</span> <span class="string">"false"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consent.screen.text"</span><span class="punctuation">:</span> <span class="string">""</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"088bfa54-1bb6-4401-846a-7ffcb9eed01b"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"allowed web origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"openid-connect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocolMapper"</span><span class="punctuation">:</span> <span class="string">"oidc-allowed-origins-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"consentRequired"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultDefaultClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"role_list"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"web-origins"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"roles"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"email"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultOptionalClientScopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"address"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"offline_access"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"microprofile-jwt"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"phone"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"browserSecurityHeaders"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"contentSecurityPolicyReportOnly"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"xContentTypeOptions"</span><span class="punctuation">:</span> <span class="string">"nosniff"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"xRobotsTag"</span><span class="punctuation">:</span> <span class="string">"none"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"xFrameOptions"</span><span class="punctuation">:</span> <span class="string">"SAMEORIGIN"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"contentSecurityPolicy"</span><span class="punctuation">:</span> <span class="string">"frame-src 'self'; frame-ancestors 'self'; object-src 'none';"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"xXSSProtection"</span><span class="punctuation">:</span> <span class="string">"1; mode=block"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"strictTransportSecurity"</span><span class="punctuation">:</span> <span class="string">"max-age=31536000; includeSubDomains"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"smtpServer"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"password"</span><span class="punctuation">:</span> <span class="string">"**********"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"starttls"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"auth"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"port"</span><span class="punctuation">:</span> <span class="string">"465"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"host"</span><span class="punctuation">:</span> <span class="string">"smtp.qiye.aliyun.com"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"from"</span><span class="punctuation">:</span> <span class="string">"[email protected]"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"ssl"</span><span class="punctuation">:</span> <span class="string">"true"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"user"</span><span class="punctuation">:</span> <span class="string">"[email protected]"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"loginTheme"</span><span class="punctuation">:</span> <span class="string">"keycloak"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"eventsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"eventsListeners"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"jboss-logging"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabledEventTypes"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"adminEventsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"adminEventsDetailsEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"identityProviders"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"wechat"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"internalId"</span><span class="punctuation">:</span> <span class="string">"e63c54b9-60df-44e5-bce6-5a6cd9f6ec79"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"wechat"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"updateProfileFirstLoginMode"</span><span class="punctuation">:</span> <span class="string">"on"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"trustEmail"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"storeToken"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"addReadTokenRoleOnCreate"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticateByDefault"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"linkOnly"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"firstBrokerLoginFlowAlias"</span><span class="punctuation">:</span> <span class="string">"wechat code login"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"syncMode"</span><span class="punctuation">:</span> <span class="string">"IMPORT"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientSecret"</span><span class="punctuation">:</span> <span class="string">"**********"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientId"</span><span class="punctuation">:</span> <span class="string">"wx44bba0d905e03c29"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"useJwksUrl"</span><span class="punctuation">:</span> <span class="string">"true"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"identityProviderMappers"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"components"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"d9f367f5-b1b3-4bcf-98c6-841dc17773de"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Allowed Protocol Mapper Types"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"allowed-protocol-mappers"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subType"</span><span class="punctuation">:</span> <span class="string">"anonymous"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"allowed-protocol-mapper-types"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"oidc-address-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"saml-user-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"oidc-usermodel-property-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"oidc-full-name-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"oidc-sha256-pairwise-sub-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"saml-user-property-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"saml-role-list-mapper"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"11a54008-e617-419e-82ce-b2068fe46617"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Allowed Protocol Mapper Types"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"allowed-protocol-mappers"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subType"</span><span class="punctuation">:</span> <span class="string">"authenticated"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"allowed-protocol-mapper-types"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"oidc-sha256-pairwise-sub-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"oidc-usermodel-property-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"oidc-full-name-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"saml-role-list-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"saml-user-property-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"saml-user-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"oidc-usermodel-attribute-mapper"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"oidc-address-mapper"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"eec09d86-f177-4f79-b951-0af48e65e02c"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Consent Required"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"consent-required"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subType"</span><span class="punctuation">:</span> <span class="string">"anonymous"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"d2ac5391-79d8-4abc-a8ff-cf94ee99c4d0"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Max Clients Limit"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"max-clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subType"</span><span class="punctuation">:</span> <span class="string">"anonymous"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"max-clients"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"200"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"c1ecf3b5-3ea7-4587-9457-331879d2333d"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Trusted Hosts"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"trusted-hosts"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subType"</span><span class="punctuation">:</span> <span class="string">"anonymous"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"host-sending-registration-request-must-match"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"true"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"client-uris-must-match"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"true"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"c64deffb-ca6d-47c9-892f-d8180455b76e"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Allowed Client Scopes"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"allowed-client-templates"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subType"</span><span class="punctuation">:</span> <span class="string">"authenticated"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"allow-default-scopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"true"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"67d27f12-396c-46aa-aa29-11d88a31e056"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Allowed Client Scopes"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"allowed-client-templates"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subType"</span><span class="punctuation">:</span> <span class="string">"anonymous"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"allow-default-scopes"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"true"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"5846b5d6-1a07-4adf-ba59-7074d53b2182"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Full Scope Disabled"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"scope"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subType"</span><span class="punctuation">:</span> <span class="string">"anonymous"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"org.keycloak.keys.KeyProvider"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"cba68539-8dbf-4860-a4de-4406eca2d3f2"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"hmac-generated"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"hmac-generated"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"100"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"algorithm"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"HS256"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b292ba24-6767-4885-b181-adc1be5ec971"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"aes-generated"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"aes-generated"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"100"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b9b940ef-3054-4259-8c16-a0cd85169c36"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"rsa-enc-generated"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"rsa-generated"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"100"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"f98d54dc-e95c-40c7-bae5-7ed39e586f00"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"rsa-generated"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"rsa-generated"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"subComponents"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"100"</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"internationalizationEnabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"supportedLocales"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">""</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationFlows"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"d013783b-fbad-4244-a092-7e280ae03299"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Account verification options"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Method with which to verity the existing account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-email-verification"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"Verify Existing Account by Re-authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"ce212cbe-6826-4958-aa0e-2ac9e29ee42a"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Authentication Options"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Authentication options."</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"basic-auth"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"basic-auth-otp"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"DISABLED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"auth-spnego"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"DISABLED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">30</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"0fddeca4-72ec-4b2c-b311-660094b6de90"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Browser - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Flow to determine if the OTP is required for the authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"conditional-user-configured"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"auth-otp-form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"f4f6f94f-25b4-4d99-8d7c-0fc8891b99cc"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Copy of first broker login"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorConfig"</span><span class="punctuation">:</span> <span class="string">"review profile config"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-review-profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-create-user-if-unique"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">21</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"CONDITIONAL"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">22</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"create user or update"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"2f765fb4-631e-49e1-a640-a9133efd1f74"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Copy of first broker login First broker login - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Flow to determine if the OTP is required for the authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"conditional-user-configured"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"auth-otp-form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"d1b48ce3-402e-4494-971e-20bff572b003"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Copy of first broker login Handle Existing Account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Handle what to do if there is existing account with same email/username like authenticated identity provider"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-auto-link"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"806704d3-c9d1-4e9e-9e75-b28f5ef06a6f"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Copy of first broker login Verify Existing Account by Re-authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Reauthentication of existing account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-username-password-form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"CONDITIONAL"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"Copy of first broker login First broker login - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"bb7872f1-0e07-4fb7-89f6-59e53f4217d6"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Direct Grant - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Flow to determine if the OTP is required for the authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"conditional-user-configured"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"direct-grant-validate-otp"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"99e59b16-11ea-47c2-a4e3-14edc3110623"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"First broker login - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Flow to determine if the OTP is required for the authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"conditional-user-configured"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"auth-otp-form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"cb86a303-4f73-4e5a-bca7-3276983a0d90"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Handle Existing Account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Handle what to do if there is existing account with same email/username like authenticated identity provider"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-confirm-link"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"Account verification options"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"4f785f02-5b63-4c51-86bc-a5e12bcbef6e"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Reset - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Flow to determine if the OTP should be reset or not. Set to REQUIRED to force."</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"conditional-user-configured"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"reset-otp"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"3b191a54-6de2-4da4-a9c0-9535d1899adb"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"User creation or linking"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Flow for the existing/non-existing user alternatives"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorConfig"</span><span class="punctuation">:</span> <span class="string">"create unique user config"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-create-user-if-unique"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"Handle Existing Account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"7ca2dc39-04cb-4677-8ddd-ff48ecd0518b"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"Verify Existing Account by Re-authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Reauthentication of existing account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-username-password-form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"CONDITIONAL"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"First broker login - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"3a9f8edc-0a8b-4e49-b256-481e11d3b317"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"browser"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"browser based authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"auth-cookie"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"auth-spnego"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"DISABLED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"identity-provider-redirector"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">25</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">30</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"forms"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"4b8d6283-0766-4982-99e3-d71950c35755"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Base authentication for clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"client-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"client-secret"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"client-jwt"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"client-secret-jwt"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">30</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"client-x509"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"ALTERNATIVE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">40</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"a266388c-39f4-4692-80d8-ab4c2aa06f79"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"create user or update"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">""</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-detect-existing-broker-user"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"72263036-da9c-4e9b-80af-be5364b52739"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"direct grant"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"OpenID Connect Resource Owner Grant"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"direct-grant-validate-username"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"direct-grant-validate-password"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"CONDITIONAL"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">30</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"Direct Grant - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"8f21ffe4-38d7-4e48-82ce-41aaf06e53f3"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"docker auth"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Used by Docker clients to authenticate against the IDP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"docker-http-basic-authenticator"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"25708194-bf09-444a-a120-4995d72d8fe6"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"first broker login"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorConfig"</span><span class="punctuation">:</span> <span class="string">"review profile config"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-review-profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"User creation or linking"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"88989059-7363-4ac8-b9f0-ee3438e0eba2"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"first broker login 备份 Account verification options"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Method with which to verity the existing account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-email-verification"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"DISABLED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"DISABLED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"first broker login 备份 Verify Existing Account by Re-authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"8ca867f7-8c29-41a1-a61a-319f0aa3ffb6"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"first broker login 备份 First broker login - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Flow to determine if the OTP is required for the authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"conditional-user-configured"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"auth-otp-form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"78a91ba2-ccbe-4f50-8003-942956f6c769"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"first broker login 备份 Handle Existing Account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Handle what to do if there is existing account with same email/username like authenticated identity provider"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-confirm-link"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"DISABLED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"DISABLED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"first broker login 备份 Account verification options"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"5c1d52ed-3b54-471a-bd7e-bd0a86026f4e"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"first broker login 备份 Verify Existing Account by Re-authentication"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Reauthentication of existing account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-username-password-form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"CONDITIONAL"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"first broker login 备份 First broker login - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"fa97ed7c-5e7a-490f-8a28-77ce26c3adf1"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"forms"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Username, password, otp and other auth forms."</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"auth-username-password-form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"CONDITIONAL"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"Browser - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"479d90a9-a35c-4b02-8387-c879f0399538"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"http challenge"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"An authentication flow based on challenge-response HTTP Authentication Schemes"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"no-cookie-redirect"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"Authentication Options"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"97e67c80-26fe-4892-a9cc-340dba0ad945"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"registration"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"registration flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"registration-page-form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"registration form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"e8065f55-7b37-4deb-85a4-6e3dda9e69a9"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"registration form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"registration form"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"form-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"registration-user-creation"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"registration-profile-action"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">40</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"registration-password-action"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">50</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"registration-recaptcha-action"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"DISABLED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">60</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"e2ba04da-f6f3-44e1-a635-3856946ee80d"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"reset credentials"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Reset credentials for a user if they forgot their password or something"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"reset-credentials-choose-user"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"reset-credential-email"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"reset-password"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">30</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"CONDITIONAL"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">40</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"flowAlias"</span><span class="punctuation">:</span> <span class="string">"Reset - Conditional OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">true</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"68deb9e7-4612-42fc-b359-40a2690038c2"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"saml ecp"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"SAML ECP Profile Authentication Flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"http-basic-authenticator"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"f0bfa282-c929-4257-b637-c4bec906479d"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"wechat code login"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"basic-flow"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"topLevel"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"builtIn"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticationExecutions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"authenticator"</span><span class="punctuation">:</span> <span class="string">"idp-own-create-user-if-unique"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requirement"</span><span class="punctuation">:</span> <span class="string">"REQUIRED"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">0</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userSetupAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"autheticatorFlow"</span><span class="punctuation">:</span> <span class="keyword">false</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"authenticatorConfig"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"fc8767dd-af2e-48f5-bde6-42d5c2b13b5e"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"create unique user config"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"require.password.update.after.registration"</span><span class="punctuation">:</span> <span class="string">"false"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"862e8a7d-88a9-442b-a4ca-af4d7aef8a36"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"review profile config"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"update.profile.on.first.login"</span><span class="punctuation">:</span> <span class="string">"missing"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"requiredActions"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"CONFIGURE_TOTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Configure OTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"CONFIGURE_TOTP"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultAction"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">10</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"terms_and_conditions"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Terms and Conditions"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"terms_and_conditions"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultAction"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">20</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"UPDATE_PASSWORD"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Update Password"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"UPDATE_PASSWORD"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultAction"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">30</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"UPDATE_PROFILE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Update Profile"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"UPDATE_PROFILE"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultAction"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">40</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"VERIFY_EMAIL"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Verify Email"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"VERIFY_EMAIL"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultAction"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">50</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"delete_account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Delete Account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"delete_account"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultAction"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">60</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"alias"</span><span class="punctuation">:</span> <span class="string">"update_user_locale"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"name"</span><span class="punctuation">:</span> <span class="string">"Update User Locale"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"providerId"</span><span class="punctuation">:</span> <span class="string">"update_user_locale"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"enabled"</span><span class="punctuation">:</span> <span class="keyword">true</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"defaultAction"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"priority"</span><span class="punctuation">:</span> <span class="number">1000</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"config"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"browserFlow"</span><span class="punctuation">:</span> <span class="string">"browser"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"registrationFlow"</span><span class="punctuation">:</span> <span class="string">"registration"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"directGrantFlow"</span><span class="punctuation">:</span> <span class="string">"direct grant"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"resetCredentialsFlow"</span><span class="punctuation">:</span> <span class="string">"reset credentials"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientAuthenticationFlow"</span><span class="punctuation">:</span> <span class="string">"clients"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"dockerAuthenticationFlow"</span><span class="punctuation">:</span> <span class="string">"docker auth"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"attributes"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"cibaBackchannelTokenDeliveryMode"</span><span class="punctuation">:</span> <span class="string">"poll"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"cibaExpiresIn"</span><span class="punctuation">:</span> <span class="string">"120"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"cibaAuthRequestedUserHint"</span><span class="punctuation">:</span> <span class="string">"login_hint"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"oauth2DeviceCodeLifespan"</span><span class="punctuation">:</span> <span class="string">"600"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientOfflineSessionMaxLifespan"</span><span class="punctuation">:</span> <span class="string">"0"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"oauth2DevicePollingInterval"</span><span class="punctuation">:</span> <span class="string">"5"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientSessionIdleTimeout"</span><span class="punctuation">:</span> <span class="string">"0"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"parRequestUriLifespan"</span><span class="punctuation">:</span> <span class="string">"60"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientSessionMaxLifespan"</span><span class="punctuation">:</span> <span class="string">"0"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientOfflineSessionIdleTimeout"</span><span class="punctuation">:</span> <span class="string">"0"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"cibaInterval"</span><span class="punctuation">:</span> <span class="string">"5"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"keycloakVersion"</span><span class="punctuation">:</span> <span class="string">"15.1.1"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"userManagedAccessAllowed"</span><span class="punctuation">:</span> <span class="keyword">false</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientProfiles"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"profiles"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"clientPolicies"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"policies"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"><span class="punctuation">}</span></span><br></pre></td></tr></table></figure>
</div></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2023-01-05T07:56:18.000Z" title="2023/1/5 下午3:56:18">2023-01-05</time>发表</span><span class="level-item"><time dateTime="2023-01-05T07:57:23.326Z" title="2023/1/5 下午3:57:23">2023-01-05</time>更新</span><span class="level-item">几秒读完 (大约35个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2023/01/05/rainbow-cloud-dependencies-%E6%A1%86%E6%9E%B6-demo-%E9%A1%B9%E7%9B%AE/">rainbow cloud dependencies 框架 demo 项目</a></h1><div class="content"><h1 id="项目地址"><a href="#项目地址" class="headerlink" title="项目地址"></a>项目地址</h1><p><a target="_blank" rel="noopener" href="https://github.com/rainbowechoes/framework-demo.git">https://github.com/rainbowechoes/framework-demo.git</a></p>
<p>该项目目前是私有项目,用于示范如何使用 <code>rainbow-cloud-dependencies</code> 框架</p>
</div></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2023-01-05T06:54:02.000Z" title="2023/1/5 下午2:54:02">2023-01-05</time>发表</span><span class="level-item"><time dateTime="2023-01-05T07:23:11.918Z" title="2023/1/5 下午3:23:11">2023-01-05</time>更新</span><span class="level-item">4 分钟读完 (大约647个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2023/01/05/keycloak-%E9%9B%86%E6%88%90-spring-security-%E5%AE%9E%E7%8E%B0%E8%A7%92%E8%89%B2%E3%80%81%E6%9D%83%E9%99%90%E6%8E%A7%E5%88%B6/">keycloak 集成 spring security 实现角色、权限控制</a></h1><div class="content"><h1 id="1-概述"><a href="#1-概述" class="headerlink" title="1. 概述"></a>1. 概述</h1><p>本文主要讲述如何基于 keycloak 实现 rbac 以及 rbac0 模型。因为这两种对于大多数产品而言,已经足够用了。</p>
<p>二者区别简单来说就是,rbac 依赖于 <code>user</code> 和 <code>role</code>。rbac0 则多了一个权限,包含了 <code>user</code>、<code>role</code> 和 <code>permission</code>,<code>permission</code> 是对角色具有权限的进一步细化,属于多对多关系。</p>
<p>下面开始分别讲述实现方式</p>
<h1 id="2-rbac"><a href="#2-rbac" class="headerlink" title="2. rbac"></a>2. rbac</h1><p>实现的关键在于,权限系统中需要包含 <code>user</code>和<code>role</code>两个表。而 keycloak 中,这两个表自然存在,并且角色信息也已经能在 token 中返回。</p>
<p>因此,关键在于业务服务使用 spring security 后,需要进行鉴权。</p>
<p>这一步其实也很简单,只需要使用 <code>@PreAuthorize</code> 注解即可。如下:</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">@PreAuthorize("hasRole('radmin')")</span></span><br><span class="line"><span class="meta">@GetMapping("/admin")</span></span><br><span class="line"><span class="keyword">public</span> String <span class="title function_">adminApi</span><span class="params">()</span> {</span><br><span class="line"> <span class="keyword">return</span> <span class="string">"this is admin api"</span>;</span><br><span class="line">}</span><br></pre></td></tr></table></figure>
<p>对于 <code>rainbow-cloud-dependencies</code> 框架,权限表达式中的角色名只需要与 keycloak 中角色保持一致即可。</p>
<h1 id="3-rbac0"><a href="#3-rbac0" class="headerlink" title="3. rbac0"></a>3. rbac0</h1><p>keycloak 中有了 <code>user</code>、<code>role</code> 表,但是并没有 <code>permission</code> 表,这就是比较头疼的一点,但也不是不能实现。</p>
<p>实现思路如下:</p>
<ul>
<li><p>业务服务中,自建 <code>permission</code> 表,添加权限记录</p>
</li>
<li><p>通过 spi 调用 keycloak 接口,在 keycloak 的角色上添加 <code>permission</code> 属性</p>
</li>
<li><p>在 client 上添加 <code>script</code> 类型的 token mapper,将角色及其所有属性放到 token 中</p>
</li>
<li><p>业务服务中,自定义新的 <code>spring security</code>权限表达式,解析 token 进行鉴权</p>
</li>
</ul>
<h2 id="3-1-添加-permission-属性"><a href="#3-1-添加-permission-属性" class="headerlink" title="3.1 添加 permission 属性"></a>3.1 添加 permission 属性</h2><p>如下:</p>
<p><img src="https://i.imgur.com/BRrXvTW.png" alt="image-20230105151433822"></p>
<h2 id="3-2-添加脚本-mapper"><a href="#3-2-添加脚本-mapper" class="headerlink" title="3.2 添加脚本 mapper"></a>3.2 添加脚本 mapper</h2><p>首先 keycloak 需要开启此功能,此功能在 keycloak 18.0.0 版本已被移除,笔者使用的是 15.1.1 版本</p>
<p>开启方式为:添加 docker 环境变量 <code>JAVA_OPTS_APPEND</code></p>
<figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">'2.1'</span></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"></span><br><span class="line"> <span class="attr">keycloak:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">jboss/keycloak:15.1.1</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">keycloak</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="number">8443</span><span class="string">:8443</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./certs/xxx.pem:/etc/x509/https/tls.crt</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./certs/xxx.key:/etc/x509/https/tls.key</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="attr">JDBC_PARAMS:</span> <span class="string">"useSSL=false"</span></span><br><span class="line"> <span class="attr">JAVA_OPTS_APPEND:</span> <span class="string">"-Dkeycloak.profile.feature.upload_scripts=enabled"</span></span><br><span class="line"> <span class="attr">networks:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">keycloak-network</span></span><br><span class="line"></span><br><span class="line"><span class="attr">networks:</span></span><br><span class="line"> <span class="attr">keycloak-network:</span></span><br></pre></td></tr></table></figure>
<p>在对应认证的 client 中,添加 mapper:</p>
<p><img src="https://i.imgur.com/jXqT95V.png" alt="image-20230105151956181"></p>
<p><img src="https://i.imgur.com/p81i7cU.png" alt="image-20230105152033895"></p>
<p>js 代码如下:</p>
<figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> roles = [];</span><br><span class="line"><span class="keyword">var</span> client = keycloakSession.<span class="title function_">getContext</span>().<span class="title function_">getClient</span>();</span><br><span class="line">user.<span class="title function_">getRoleMappings</span>().<span class="title function_">forEach</span>(<span class="keyword">function</span>(<span class="params">roleModel</span>) {</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">var</span> attr = {};</span><br><span class="line"> <span class="keyword">var</span> names = {};</span><br><span class="line"> <span class="keyword">var</span> rn = roleModel.<span class="title function_">getName</span>();</span><br><span class="line"> <span class="keyword">var</span> map = roleModel.<span class="title function_">getAttributes</span>();</span><br><span class="line"> map.<span class="title function_">forEach</span>(<span class="keyword">function</span>(<span class="params">key, value</span>){</span><br><span class="line"> attr[key] = value;</span><br><span class="line"> }); </span><br><span class="line"> roles[rn] = attr;</span><br><span class="line">});</span><br><span class="line"></span><br><span class="line"><span class="built_in">exports</span> = roles;</span><br></pre></td></tr></table></figure>
<h2 id="3-3-自定义-spring-security-权限表达式"><a href="#3-3-自定义-spring-security-权限表达式" class="headerlink" title="3.3 自定义 spring security 权限表达式"></a>3.3 自定义 spring security 权限表达式</h2><p><code>rainbow-cloud-dependencies</code> 中已经完成实现,对应类为:<code>RolePermissionSecurityExpressionRoot</code></p>
<p>新版本 idea 不仅能识别 spring 自带权限表达式,也能识别自定义的权限表达式了。</p>
</div></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2023-01-05T06:53:01.000Z" title="2023/1/5 下午2:53:01">2023-01-05</time>发表</span><span class="level-item"><time dateTime="2023-01-05T06:55:24.471Z" title="2023/1/5 下午2:55:24">2023-01-05</time>更新</span><span class="level-item">2 分钟读完 (大约230个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2023/01/05/keycloak-%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/">keycloak 源码分析</a></h1><div class="content"><h1 id="keycloak-源码分析"><a href="#keycloak-源码分析" class="headerlink" title="keycloak 源码分析"></a>keycloak 源码分析</h1><p>以 15.1.1 版本为例:</p>
<h2 id="sat-相关接口位置"><a href="#sat-相关接口位置" class="headerlink" title="sat 相关接口位置"></a>sat 相关接口位置</h2><p>通过 sat 调用的接口,代码在 <code>org.keycloak.services.resources</code> 包下,模块名为 <code>services</code></p>
<p>比如与用户相关的 sat 接口,对应类为 <code>org.keycloak.services.resources.admin.UsersResource</code></p>
<h2 id="Authenticator-自定义"><a href="#Authenticator-自定义" class="headerlink" title="Authenticator 自定义"></a>Authenticator 自定义</h2><p><code>org.keycloak.authentication.authenticators.broker.IdpAutoLinkAuthenticator</code></p>
<p>Authentication flow 中的 <code>Automatically set existing user</code> Authenticator</p>
<h2 id="角色、权限控制"><a href="#角色、权限控制" class="headerlink" title="角色、权限控制"></a>角色、权限控制</h2><p>keycloak 集成配置如下图:</p>
<p><img src="https://i.imgur.com/kUKM3hi.png" alt="image-20230105112939489"></p>
<p>其中,<code>use-resource-role-mappings</code> 与角色控制相关。在源码里面,它的作用是:</p>
<ul>
<li>当该配置为 true 时,使用 client 中的 role 作为用户的鉴权角色。</li>
<li>当该配置为 false 时,使用 realm 中的 role 作为用户的鉴权角色。</li>
</ul>
<p>这个配置,推荐设置为 false。因为一个 realm 可以对应一个程序,client 对应不同服务,他们都应该对应同一套角色体系。</p>
</div></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2022-10-21T06:23:54.000Z" title="2022/10/21 下午2:23:54">2022-10-21</time>发表</span><span class="level-item"><time dateTime="2022-10-21T06:53:03.737Z" title="2022/10/21 下午2:53:03">2022-10-21</time>更新</span><span class="level-item">4 分钟读完 (大约569个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2022/10/21/java17-%E4%B8%AD%E5%8F%8D%E5%B0%84%E7%9A%84%E5%9D%91/">java17 中反射的坑</a></h1><div class="content"><h1 id="1-概述"><a href="#1-概述" class="headerlink" title="1 概述"></a>1 概述</h1><p>笔者目前的一个项目使用了 java 17 进行开发。并且在项目开发中,由于需要去获取某个接口下的所有子类,并为其自动创建 bean。于是用了反射去处理,但后面没想到却踩了坑。</p>
<h1 id="2-具体过程"><a href="#2-具体过程" class="headerlink" title="2 具体过程"></a>2 具体过程</h1><p>项目开发环境如下:</p>
<ol>
<li>笔者自定义了一个开发框架,并以 springboot starter 的形式进行引入。</li>
<li>定义一个反射工具类,这个工具类核心原理是通过接收一个 Class 类型的参数,获取到这个 Class 所在 package 同级及以下的所有类,并通过 <code>isAssignableFrom</code> 方法,从这些类中找出参数 Class 的子类。</li>
<li>在业务工程引入了自己开发的框架后,使用该工具类去获取某个接口下的子类,并将子类变为 spring 的 bean</li>
</ol>
<p>照着这样的逻辑,程序工作了一段时间。</p>
<p>直到今天我运行项目的时候发现,在第三步的时候,使用工具类获取不到子类了,这让我很不解。</p>
<p>在工具类的方法中调试发现,子类与父类所属的 module 不一样。</p>
<p>我当时认为是:这几个类虽然在一个工程里面,但是我并没有添加 module-info.java 文件,导致 java 默认生成 module 的时候生成了两个 module。</p>
<p>于是,我定义 module-info.java 然后重试,发现还是一样。</p>
<p>后面尝试发现,只要我把这个工具类从框架代码中迁到业务工程中,就能够成功获取到子类。</p>
<p>所以原因是,加载父类的时候,是在业务工程里面,属于业务工程的 module,但是加载子类的时候,是在框架代码中,属于框架工程的 module。而 java 9 之后,不仅基于了全限定类名,也基于模块进行了类的判定。因此,子类并不属于父类。</p>
<p>不过,最奇怪的就是,跑了一个多月都没出问题,突然一下就这样。还是很奇怪</p>
</div></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2022-10-16T08:42:17.000Z" title="2022/10/16 下午4:42:17">2022-10-16</time>发表</span><span class="level-item"><time dateTime="2022-10-21T06:23:25.602Z" title="2022/10/21 下午2:23:25">2022-10-21</time>更新</span><span class="level-item">8 分钟读完 (大约1259个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2022/10/16/micronaut-%E6%BA%90%E7%A0%81%E4%B9%8B-IoC-%E5%AE%9E%E7%8E%B0/">micronaut 源码之 IoC 实现</a></h1><div class="content"><h1 id="1-概述"><a href="#1-概述" class="headerlink" title="1 概述"></a>1 概述</h1><p>本文主要对 micronaut 框架中,IoC 实现的部分进行源码分析。</p>
<h1 id="2-具体实现"><a href="#2-具体实现" class="headerlink" title="2 具体实现"></a>2 具体实现</h1><h2 id="2-1-原理"><a href="#2-1-原理" class="headerlink" title="2.1 原理"></a>2.1 原理</h2><p>在分析源码之前,需要首先了解 micronaut 这个框架对于 IoC 实现的原理是什么,懂了原理,才能更有方向、更有目的性的去阅读源码。</p>
<p>在官方文档上,这一点实际上是有描述的:<a target="_blank" rel="noopener" href="https://docs.micronaut.io/latest/guide/#how%E3%80%82%E7%BF%BB%E8%AF%91%E8%BF%87%E6%9D%A5%E5%B0%B1%E6%98%AF%EF%BC%9A">https://docs.micronaut.io/latest/guide/#how。翻译过来就是:</a></p>
<blockquote>
<p>在这一点上,你可能想知道Micronaut是如何在不需要反射的情况下执行上述依赖注入的。</p>
<p>关键是一组AST转换(对于Groovy)和注解处理器(对于Java),它们生成了实现BeanDefinition接口的类。</p>
<p>Micronaut使用ASM字节码库来生成类,由于Micronaut提前知道了注入点,所以不需要像Spring等其他框架那样在运行时扫描所有的方法、字段、构造函数等等。</p>
<p>另外,由于在构造Bean时没有使用反射,JVM可以更好地内联和优化代码,从而获得更好的运行时性能和减少内存消耗。这对于非单体作用域来说特别重要,因为应用性能取决于Bean创建性能。</p>
<p>此外,使用Micronaut,你的应用程序启动时间和内存消耗不会像使用反射的框架那样受到代码库大小的影响。基于反射的IoC框架为你代码中的每一个字段、方法和构造函数加载和缓存反射数据。因此,随着你的代码大小的增长,你的内存需求也在增长,而Micronaut则不是这样的情况。</p>
</blockquote>
<p>这段话很简洁,但也包含了所有的核心逻辑,接下来我们就按照原文来一步步对应源码进行解释原文真正的含义。</p>
<h2 id="2-2-自动生成类"><a href="#2-2-自动生成类" class="headerlink" title="2.2 自动生成类"></a>2.2 自动生成类</h2><p>首先,micronaut 相比于 spring 的 IoC,不同的一点是,他不需要使用反射去得到 bean 的相关信息,来生成 <code>BeanDefinition</code>。</p>
<p><code>BeanDefinition</code> 是 Spring 框架中,一个核心的接口,micronaut 也有同样意义的接口。</p>
<p>spring 的做法是,对于当前工程,通过<strong>反射扫描启动类同级以及下属所有包下的所有类</strong>,判断这些类上是否有与生成 bean 相关的注解。如果有,那么则解析它,得到一个 <code>BeanDefinition</code>。</p>
<p>这样做,有两个问题:</p>
<ul>
<li>反射本身的效率问题</li>
<li>内存占用</li>
<li>对于 java17 后,云原生编译的问题</li>
</ul>
<p>因此,为了解析这几个问题,micronaut 的做法是,对于这些标记为 bean 的类,直接为他们生成对应的 <code>BeanDefinition</code> 以及相关类,这样,框架直接就能知道那些类需要成为 bean。</p>
<p>那么,怎么为类生成相关类呢?</p>
<p>这就要是原文说的:</p>
<ul>
<li>对于 Groovy,使用 AST 转换</li>
<li>对于 java,使用 annotation processor</li>
</ul>
<p>AST 转换可以简单理解为直接解析语法,生成类。并且这类语言跟 java 关系不大,可以暂且跳过,annotation processor 则是关键。</p>
<p>对于 annotation processor,网上有很多文章进行介绍,比如这篇:<a target="_blank" rel="noopener" href="https://www.cnblogs.com/exmyth/p/11396503.html">https://www.cnblogs.com/exmyth/p/11396503.html</a></p>
<p>实际上仅靠一个 annotation processor 是不行的,它只是<strong>提供了一个生成类的入口</strong>,并不提供具体实现生成类的方法。要生成类的方式有很多,比如使用 themeleaf 这些模板根据类模板,也是可以生成的。但是这样,太不灵活,而且性能也不太高。</p>
<p>因此,micronaut 使用了 ASM 字节码库,直接生成类的字节码文件,性能更快,也更灵活。</p>
<p>说到这儿,有些读者可能觉得这个技术的实现一定很难。其实不是,这两项技术,已经足够成熟。并且,将这两样技术融合到一起的工具类库也是有很多,比如著名的 lombok。</p>
<p>那么,micronaut 是怎么用的呢?</p>
<p>在 micronaut 的 <code>inject-java</code> 模块中,有这样一个文件:</p>
<p><img src="C:\Users\10744\AppData\Roaming\Typora\typora-user-images\image-20221016181149081.png" alt="image-20221016181149081"></p>
<p>文件内容为:</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">io.micronaut.annotation.processing.TypeElementVisitorProcessor</span><br><span class="line">io.micronaut.annotation.processing.AggregatingTypeElementVisitorProcessor</span><br><span class="line">io.micronaut.annotation.processing.PackageConfigurationInjectProcessor</span><br><span class="line">io.micronaut.annotation.processing.BeanDefinitionInjectProcessor</span><br><span class="line">io.micronaut.annotation.processing.ConfigurationMetadataProcessor</span><br></pre></td></tr></table></figure>
<p>其中,关键的一个类就是 <code>BeanDefinitionInjectProcessor</code>。</p>
<p>它就是对 <code>BeanDefinition</code> 进行生成的入口,通过这个类,将会在工程编译的时候,对 bean 生成两个字节码文件:Definition 以及 DefinitionReference,如:</p>
<p><img src="C:\Users\10744\AppData\Roaming\Typora\typora-user-images\image-20221016181650669.png" alt="image-20221016181650669"></p>
<p>另外,还有一个 SPI 文件,micronaut 通过这个文件,就能够直接知道当前工程下有哪些 bean 可用。</p>
</div></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2022-10-14T16:05:06.000Z" title="2022/10/15 上午12:05:06">2022-10-15</time>发表</span><span class="level-item"><time dateTime="2022-10-21T06:23:25.602Z" title="2022/10/21 下午2:23:25">2022-10-21</time>更新</span><span class="level-item">几秒读完 (大约0个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2022/10/15/okteto-%E8%BF%9C%E7%A8%8B%E5%BC%80%E5%8F%91-springboot-%E5%B7%A5%E7%A8%8B/">okteto 远程开发 springboot 工程</a></h1><div class="content"></div></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2022-10-14T14:48:41.000Z" title="2022/10/14 下午10:48:41">2022-10-14</time>发表</span><span class="level-item"><time dateTime="2023-01-05T07:53:31.600Z" title="2023/1/5 下午3:53:31">2023-01-05</time>更新</span><span class="level-item">1 分钟读完 (大约183个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2022/10/14/code-runner-%E4%BD%BF%E7%94%A8-conda/">code runner 使用 conda</a></h1><div class="content"><h1 id="1-概述"><a href="#1-概述" class="headerlink" title="1 概述"></a>1 概述</h1><p>本文主要讲述,windows 环境下,在 vscode 中, code runner 如何使用 conda 的环境,Mac OS 环境下,code runner 能自动识别,就不再赘述。</p>
<h1 id="2-具体操作"><a href="#2-具体操作" class="headerlink" title="2 具体操作"></a>2 具体操作</h1><p>安装好 conda 后,要求打开终端,能够自动看到 base 环境。如果没有,可以使用 <code>conda init</code> 命令对 shell 环境进行初始化,这样,对于该 shell 将会成功获取到 默认的 base 环境。</p>
<p>之后,直接在终端输入 code 命令,将会直接打开 vscode,这样 code runner 就能直接使用 conda 的虚拟环境。因为,这个时候命令行中的环境变量已经传递到了 vscode。</p>
</div></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2022-08-26T06:52:17.000Z" title="2022/8/26 下午2:52:17">2022-08-26</time>发表</span><span class="level-item"><time dateTime="2022-08-26T08:59:44.547Z" title="2022/8/26 下午4:59:44">2022-08-26</time>更新</span><span class="level-item">5 分钟读完 (大约688个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2022/08/26/k8s-%E4%BD%BF%E7%94%A8-storage-class-%E4%B8%BA-pvc-%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA-pv/">k8s 使用 storage class 为 pvc 自动创建 pv</a></h1><div class="content"><h2 id="1-概述"><a href="#1-概述" class="headerlink" title="1 概述"></a>1 概述</h2><p>之前创建了一个裸 k8s 集群,现在由于部署需求,pod 需要使用外部存储卷,也就是需要 pvc。</p>
<p>说到这儿,自然就需要先明白 k8s 中的 pvc,pv 和 storage class 这几个概念。</p>
<p>pvc 可以理解为 pod 的 volume,用于存储数据,相当于 docker-compose 中的 volume 配置</p>
<p>pv 可以理解为用于创建 pvc 的资源池</p>
<p>storage class 相当于存储卷的实现,也相当于 pv 的模板,可以通过指定 storage class 创建出需要的 pv</p>
<p>比如,我们可以在创建 pvc 的时候,直接指定 storage class,storage class 会创建出符合我们需要的 pv,绑定到 pvc。</p>
<p>由于是私有 k8s 集群的原因,没有提供默认的 storage class,跟 ingress 一样,公有云厂商一般都提供了默认的实现。</p>
<p>普遍的做法是使用 nfs 实现。目前也有一个开源项目进行了实现:</p>
<p><a target="_blank" rel="noopener" href="https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/">https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/</a></p>
<p>本文也是基于这个进行了部署,基于 <strong>k8s 1.22.0</strong></p>
<h2 id="2-具体实现"><a href="#2-具体实现" class="headerlink" title="2 具体实现"></a>2 具体实现</h2><p>新增一台主机:nfs</p>
<ul>
<li>固定 ip</li>
<li>关闭防火墙、selinux</li>
</ul>
<p>假设 nfs ip 为:192.168.1.19</p>
<h3 id="2-1-nfs-服务端操作"><a href="#2-1-nfs-服务端操作" class="headerlink" title="2.1 nfs 服务端操作"></a>2.1 nfs 服务端操作</h3><p>执行命令</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">yum install -y nfs-utils rpcbind</span><br></pre></td></tr></table></figure>
<p>创建一个共享目录,这个目录下存放未来所有的挂载数据</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mkdir /root/nfs</span><br></pre></td></tr></table></figure>
<p>在 /etc/profile 文件尾部追加:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/root/nfs *(rw,no_root_squash,sync)</span><br></pre></td></tr></table></figure>
<p>查看配置是否生效</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">exportfs -r</span><br><span class="line">exportfs </span><br><span class="line"></span><br></pre></td></tr></table></figure>
<p>启动并检查服务:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">systemctl restart rpcbind && systemctl enable rpcbind</span><br><span class="line">systemctl restart nfs && systemctl enable nfs</span><br><span class="line">lsof -i :111</span><br></pre></td></tr></table></figure>
<h3 id="2-2-nfs-客户端操作"><a href="#2-2-nfs-客户端操作" class="headerlink" title="2.2 nfs 客户端操作"></a>2.2 nfs 客户端操作</h3><p>所有 k8s 节点都执行以下操作:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">yum -y install nfs-utils</span><br><span class="line">systemctl start nfs && systemctl enable nfs</span><br><span class="line">showmount -e 192.168.1.19</span><br><span class="line">mount -t nfs 192.168.1.19:/root/nfs /mnt</span><br></pre></td></tr></table></figure>
<h3 id="2-3-master-节点操作"><a href="#2-3-master-节点操作" class="headerlink" title="2.3 master 节点操作"></a>2.3 master 节点操作</h3><p>安装 NFS Provisioner</p>
<p>引入 helm 源</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/</span><br><span class="line">helm repo update</span><br></pre></td></tr></table></figure>
<p>拉取 helm 模板</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">helm pull nfs-subdir-external-provisioner/nfs-subdir-external-provisioner</span><br><span class="line">tar -zxvf nfs-subdir-external-provisioner-4.0.16.tgz</span><br></pre></td></tr></table></figure>
<p>解压后,修改 nfs-subdir-external-provisioner 目录下的 value.yaml</p>
<p><img src="https://i.imgur.com/aSk7qeZ.png" alt="image-20220826165307682"></p>
<p>安装 provisioner,在 /root 目录下执行:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/ --set nfs.server=192.168.1.19 --set nfs.path=/root/nfs</span><br></pre></td></tr></table></figure>
<p>查看 provisioner pod:</p>
<p><img src="https://i.imgur.com/6f4miGT.png" alt="image-20220826165531976"></p>
<p>pod 创建成功会自动创建一个 storage class:</p>
<p><img src="https://i.imgur.com/vRcBDmk.png" alt="image-20220826165614755"></p>
<p>这样,即可创建完成</p>
<h3 id="2-4-测试"><a href="#2-4-测试" class="headerlink" title="2.4 测试"></a>2.4 测试</h3><p>创建 test-pvc.yaml ,内容如下:</p>
<figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">kind:</span> <span class="string">PersistentVolumeClaim</span></span><br><span class="line"><span class="attr">apiVersion:</span> <span class="string">v1</span></span><br><span class="line"><span class="attr">metadata:</span></span><br><span class="line"> <span class="attr">name:</span> <span class="string">test-pvc</span></span><br><span class="line"><span class="attr">spec:</span></span><br><span class="line"> <span class="attr">storageClassName:</span> <span class="string">nfs-client</span></span><br><span class="line"> <span class="attr">accessModes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">ReadWriteOnce</span></span><br><span class="line"> <span class="attr">resources:</span></span><br><span class="line"> <span class="attr">requests:</span></span><br><span class="line"> <span class="attr">storage:</span> <span class="string">1Mi</span></span><br></pre></td></tr></table></figure>
<p>执行安装:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">kubectl apply -f test-pvc.yaml</span><br></pre></td></tr></table></figure>
<p><img src="https://i.imgur.com/4FyvTX5.png" alt="image-20220826165852454"></p>
<p><img src="https://i.imgur.com/p76UWpe.png" alt="image-20220826165915546"></p>
<p>如图,pvc、pv 都成功创建,测试通过</p>
</div></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2022-08-26T06:51:21.000Z" title="2022/8/26 下午2:51:21">2022-08-26</time>发表</span><span class="level-item"><time dateTime="2022-08-26T06:51:21.797Z" title="2022/8/26 下午2:51:21">2022-08-26</time>更新</span><span class="level-item">几秒读完 (大约0个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2022/08/26/k8s-%E9%85%8D%E7%BD%AE-helm/">k8s 配置 helm</a></h1><div class="content"></div></article></div><nav class="pagination" role="navigation" aria-label="pagination"><div class="pagination-previous is-invisible is-hidden-mobile"><a href="/page/0/">上一页</a></div><div class="pagination-next"><a href="/page/2/">下一页</a></div><ul class="pagination-list is-hidden-mobile"><li><a class="pagination-link is-current" href="/">1</a></li><li><a class="pagination-link" href="/page/2/">2</a></li><li><a class="pagination-link" href="/page/3/">3</a></li><li><a class="pagination-link" href="/page/4/">4</a></li></ul></nav></div><div class="column column-left is-4-tablet is-4-desktop is-4-widescreen order-1"><div class="card widget" data-type="profile"><div class="card-content"><nav class="level"><div class="level-item has-text-centered flex-shrink-1"><div><figure class="image is-128x128 mx-auto mb-2"><img class="avatar" src="https://avatars.githubusercontent.com/u/38370475?v=4" alt="Rainbow"></figure><p class="title is-size-4 is-block" style="line-height:inherit;">Rainbow</p><p class="is-size-6 is-block">一个一直在学习的程序猿</p><p class="is-size-6 is-flex justify-content-center"><i class="fas fa-map-marker-alt mr-1"></i><span>中国/广东/深圳</span></p></div></div></nav><nav class="level is-mobile"><div class="level-item has-text-centered is-marginless"><div><p class="heading">文章</p><a href="/archives"><p class="title">40</p></a></div></div><div class="level-item has-text-centered is-marginless"><div><p class="heading">分类</p><a href="/categories"><p class="title">2</p></a></div></div><div class="level-item has-text-centered is-marginless"><div><p class="heading">标签</p><a href="/tags"><p class="title">40</p></a></div></div></nav><div class="level"><a class="level-item button is-primary is-rounded" href="https://github.com/rainbowechoes" target="_blank" rel="noopener">关注我</a></div><div class="level is-mobile is-multiline"><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="Github" href="https://github.com/rainbowechoes"><i class="fab fa-github"></i></a></div></div></div><!--!--><div class="card widget" data-type="categories"><div class="card-content"><div class="menu"><h3 class="menu-label">分类</h3><ul class="menu-list"><li><a class="level is-mobile" href="/categories/%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91/"><span class="level-start"><span class="level-item">后端开发</span></span><span class="level-end"><span class="level-item tag">1</span></span></a></li><li><a class="level is-mobile" href="/categories/%E8%BF%90%E7%BB%B4/"><span class="level-start"><span class="level-item">运维</span></span><span class="level-end"><span class="level-item tag">1</span></span></a></li></ul></div></div></div><div class="card widget" data-type="tags"><div class="card-content"><div class="menu"><h3 class="menu-label">标签</h3><div class="field is-grouped is-grouped-multiline"><div class="control"><a class="tags has-addons" href="/tags/clash/"><span class="tag">clash</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/conda/"><span class="tag">conda</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/cors/"><span class="tag">cors</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/elasticsearch/"><span class="tag">elasticsearch</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/jackson/"><span class="tag">jackson</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/java/"><span class="tag">java</span><span class="tag">2</span></a></div><div class="control"><a class="tags has-addons" href="/tags/java17/"><span class="tag">java17</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/k8s/"><span class="tag">k8s</span><span class="tag">4</span></a></div><div class="control"><a class="tags has-addons" href="/tags/keycloak/"><span class="tag">keycloak</span><span class="tag">10</span></a></div><div class="control"><a class="tags has-addons" href="/tags/metallb/"><span class="tag">metallb</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/micronaut/"><span class="tag">micronaut</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/nfs/"><span class="tag">nfs</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/nginx/"><span class="tag">nginx</span><span class="tag">3</span></a></div><div class="control"><a class="tags has-addons" href="/tags/okteto/"><span class="tag">okteto</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/rabbitmq/"><span class="tag">rabbitmq</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/rainbow-cloud-dependencies/"><span class="tag">rainbow-cloud-dependencies</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/spring/"><span class="tag">spring</span><span class="tag">2</span></a></div><div class="control"><a class="tags has-addons" href="/tags/spring-cloud/"><span class="tag">spring cloud</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/spring-cloud-gateway/"><span class="tag">spring cloud gateway</span><span class="tag">2</span></a></div><div class="control"><a class="tags has-addons" href="/tags/spring-data/"><span class="tag">spring data</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/spring-security/"><span class="tag">spring security</span><span class="tag">2</span></a></div><div class="control"><a class="tags has-addons" href="/tags/stream-%E6%93%8D%E4%BD%9C/"><span class="tag">stream 操作</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/token/"><span class="tag">token</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/webflux/"><span class="tag">webflux</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/websocket/"><span class="tag">websocket</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/wechat/"><span class="tag">wechat</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/wsl2/"><span class="tag">wsl2</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E4%BC%98%E5%8C%96/"><span class="tag">优化</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B/"><span class="tag">函数式编程</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E5%88%86%E5%B8%83%E5%BC%8F/"><span class="tag">分布式</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A6%BB/"><span class="tag">前后端分离</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E5%8A%A8%E6%80%81%E8%B7%AF%E7%94%B1/"><span class="tag">动态路由</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E5%8F%8D%E5%B0%84/"><span class="tag">反射</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/"><span class="tag">工具使用</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E5%BE%AE%E4%BF%A1/"><span class="tag">微信</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/"><span class="tag">微信小程序</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E5%BE%AE%E4%BF%A1%E7%BB%9F%E4%B8%80%E7%99%BB%E5%BD%95/"><span class="tag">微信统一登录</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83/"><span class="tag">注册中心</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/"><span class="tag">源码分析</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1-service/"><span class="tag">负载均衡 service</span><span class="tag">1</span></a></div></div></div></div></div><div class="card widget" data-type="recent-posts"><div class="card-content"><h3 class="menu-label">最新文章</h3><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-01-05T08:03:27.000Z">2023-01-05</time></p><p class="title"><a href="/2023/01/05/keycloak-%E7%9A%84%E6%A8%A1%E6%9D%BF%E9%85%8D%E7%BD%AE/">keycloak 的模板配置</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-01-05T07:56:18.000Z">2023-01-05</time></p><p class="title"><a href="/2023/01/05/rainbow-cloud-dependencies-%E6%A1%86%E6%9E%B6-demo-%E9%A1%B9%E7%9B%AE/">rainbow cloud dependencies 框架 demo 项目</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-01-05T06:54:02.000Z">2023-01-05</time></p><p class="title"><a href="/2023/01/05/keycloak-%E9%9B%86%E6%88%90-spring-security-%E5%AE%9E%E7%8E%B0%E8%A7%92%E8%89%B2%E3%80%81%E6%9D%83%E9%99%90%E6%8E%A7%E5%88%B6/">keycloak 集成 spring security 实现角色、权限控制</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-01-05T06:53:01.000Z">2023-01-05</time></p><p class="title"><a href="/2023/01/05/keycloak-%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/">keycloak 源码分析</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2022-10-21T06:23:54.000Z">2022-10-21</time></p><p class="title"><a href="/2022/10/21/java17-%E4%B8%AD%E5%8F%8D%E5%B0%84%E7%9A%84%E5%9D%91/">java17 中反射的坑</a></p></div></article></div></div><div class="card widget" data-type="archives"><div class="card-content"><div class="menu"><h3 class="menu-label">归档</h3><ul class="menu-list"><li><a class="level is-mobile" href="/archives/2023/01/"><span class="level-start"><span class="level-item">一月 2023</span></span><span class="level-end"><span class="level-item tag">4</span></span></a></li><li><a class="level is-mobile" href="/archives/2022/10/"><span class="level-start"><span class="level-item">十月 2022</span></span><span class="level-end"><span class="level-item tag">4</span></span></a></li><li><a class="level is-mobile" href="/archives/2022/08/"><span class="level-start"><span class="level-item">八月 2022</span></span><span class="level-end"><span class="level-item tag">11</span></span></a></li><li><a class="level is-mobile" href="/archives/2022/07/"><span class="level-start"><span class="level-item">七月 2022</span></span><span class="level-end"><span class="level-item tag">8</span></span></a></li><li><a class="level is-mobile" href="/archives/2022/06/"><span class="level-start"><span class="level-item">六月 2022</span></span><span class="level-end"><span class="level-item tag">6</span></span></a></li><li><a class="level is-mobile" href="/archives/2022/05/"><span class="level-start"><span class="level-item">五月 2022</span></span><span class="level-end"><span class="level-item tag">7</span></span></a></li></ul></div></div></div><div class="card widget" data-type="subscribe-email"><div class="card-content"><div class="menu"><h3 class="menu-label">订阅更新</h3><form action="https://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open('https://feedburner.google.com/fb/a/mailverify?uri=','popupwindow','scrollbars=yes,width=550,height=520');return true"><input type="hidden" value="" name="uri"><input type="hidden" name="loc" value="en_US"><div class="field has-addons"><div class="control has-icons-left is-expanded"><input class="input" name="email" type="email" placeholder="Email"><span class="icon is-small is-left"><i class="fas fa-envelope"></i></span></div><div class="control"><input class="button" type="submit" value="订阅"></div></div></form></div></div></div><div class="card widget" data-type="adsense"><div class="card-content"><div class="menu"><h3 class="menu-label">广告</h3><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-4152165722952624" data-ad-slot="8341006320" data-ad-format="auto" data-full-width-responsive="true"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></div></div><div class="card widget" data-type="subscribe-email"><div class="card-content"><div class="menu"><h3 class="menu-label">follow.it</h3><form action="" method="post" target="_blank"><div class="field has-addons"><div class="control has-icons-left is-expanded"><input class="input" name="email" type="email" placeholder="Email"><span class="icon is-small is-left"><i class="fas fa-envelope"></i></span></div><div class="control"><input class="button" type="submit" value="订阅"></div></div></form></div></div></div></div><!--!--></div></div></section><footer class="footer"><div class="container"><div class="level"><div class="level-start"><a class="footer-logo is-block mb-2" href="/">Rainbow</a><p class="is-size-7"><span>© 2023 rainbow</span> Powered by <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a> & <a href="https://github.com/ppoffice/hexo-theme-icarus" target="_blank" rel="noopener">Icarus</a><br><span id="busuanzi_container_site_uv">共<span id="busuanzi_value_site_uv">0</span>个访客</span></p></div><div class="level-end"><div class="field has-addons"><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Creative Commons" href="https://creativecommons.org/"><i class="fab fa-creative-commons"></i></a></p><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Attribution 4.0 International" href="https://creativecommons.org/licenses/by/4.0/"><i class="fab fa-creative-commons-by"></i></a></p></div></div></div></div></footer><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script><script src="https://cdn.jsdelivr.net/npm/[email protected]/min/moment-with-locales.min.js"></script><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/clipboard.min.js" defer></script><script>moment.locale("zh-CN");</script><script>var IcarusThemeSettings = {
article: {
highlight: {
clipboard: true,
fold: 'unfolded'
}
}
};</script><script src="/js/column.js"></script><script src="/js/animation.js"></script><a id="back-to-top" title="回到顶端" href="javascript:;"><i class="fas fa-chevron-up"></i></a><script src="/js/back_to_top.js" defer></script><!--!--><!--!--><!--!--><!--!--><script src="https://cdn.jsdelivr.net/npm/[email protected]/build/cookieconsent.min.js" defer></script><script>window.addEventListener("load", () => {
window.cookieconsent.initialise({
type: "info",
theme: "edgeless",
static: false,
position: "bottom-left",
content: {
message: "此网站使用Cookie来改善您的体验。",
dismiss: "知道了!",
allow: "允许使用Cookie",
deny: "拒绝",
link: "了解更多",
policy: "Cookie政策",
href: "https://www.cookiesandyou.com/",
},
palette: {
popup: {
background: "#edeff5",
text: "#838391"
},
button: {
background: "#4b81e8"
},
},
});
});</script><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/lightgallery.min.js" defer></script><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/jquery.justifiedGallery.min.js" defer></script><script>window.addEventListener("load", () => {
if (typeof $.fn.lightGallery === 'function') {
$('.article').lightGallery({ selector: '.gallery-item' });
}
if (typeof $.fn.justifiedGallery === 'function') {
if ($('.justified-gallery > p > .gallery-item').length) {
$('.justified-gallery > p > .gallery-item').unwrap();
}
$('.justified-gallery').justifiedGallery();
}
});</script><!--!--><!--!--><!--!--><!--!--><!--!--><script src="/js/main.js" defer></script><div class="searchbox"><div class="searchbox-container"><div class="searchbox-header"><form class="searchbox-input-container"><input class="searchbox-input" name="wd" type="text" placeholder="想要查找什么..."></form><a class="searchbox-close" href="javascript:;">×</a></div></div></div><script>(function ($) {
$('.searchbox-input-container').on('submit', function (e) {
var keyword = $('.searchbox-input[name="wd"]').val();
window.location = 'https://www.baidu.com/s?wd=site:rainbowechoes.github.io ' + keyword;
return false;
});
})(jQuery);
(function (document, $) {
$(document).on('click', '.navbar-main .search', function () {
$('.searchbox').toggleClass('show');
}).on('click', '.searchbox .searchbox-mask', function () {
$('.searchbox').removeClass('show');
}).on('click', '.searchbox-close', function () {
$('.searchbox').removeClass('show');
});
})(document, jQuery);</script></body></html>