0 Votes

Wiki source code of Tokens

Last modified by Ryan C on 2025/03/10 18:16

Show last authors
1 {{velocity}}
2 {{html wiki=false}}
3 #if ($isGuest)
4 <p>$services.localization.render('nextcloud.mustbelogged')</p>
5 #else
6 #if(!$!services.nextcloud.isConfiguredAuthClassOIDCProvider())
7 #warning($escapetool.xml($services.localization.render('nextcloud.authclasswarning')))
8 #end
9 #set($userDoc = $xwiki.getDocument($xcontext.getUserReference()))
10
11 #set($redirectURI = $urltool.toURL($request.redirect_uri))
12 #set($instanceURL = "$redirectURI.getProtocol()://$redirectURI.getHost()")
13
14 #if($services.nextcloud.isClientIDRegistered($request.client_id, $request.redirect_uri))
15 #set($clientID = $request.client_id)
16 #else
17 #set($clientID = "")
18 #end
19
20 #if("$!request.response_type" == "code")
21 ## A RP is requesting a token
22 #if ($clientID == "")
23 ## This RP does not have a registered client id
24 <div class="box">
25 <p>
26 $services.localization.render('nextcloud.requestingaccessfromnextcloud').replace("{URL}", "<a href='$escapetool.xml($instanceURL)'>$escapetool.xml($!$redirectURI.getHost())</a>")
27 </p>
28 #if ($!request.redirect_uri != "")
29 <p class="text-right">
30 <a
31 class="btn btn-secondary"
32 href="$escapetool.xml($request.redirect_uri)?error=unauthorized_client&amp;error_description=$escapetool.url($services.localization.render('nextcloud.unknownclientid'))&amp;state=$escapetool.xml($escapetool.url($request.state))"
33 >
34 $services.localization.render('nextcloud.gobacktonextcloud')
35 </a>
36 </p>
37 #end
38 </div>
39 #elseif("$!request.confirm" != "true")
40 <div class="box">
41 <form method="post" action="$escapetool.xml($xwiki.getDocument('Nextcloud.Tokens.Create').getURL())">
42 <p>
43 $services.localization.render('nextcloud.questioninstanceaccesspermission').replace("{URL}", "<strong>$escapetool.xml($redirectURI.getHost())</strong>")
44 </p>
45 <p class="text-right">
46 <a href="$escapetool.xml($request.redirect_uri)?error=access_denied&amp;error_description=$escapetool.url("$services.localization.render('nextcloud.userrejected')")&amp;state=$escapetool.xml($escapetool.url($request.state))" class="btn btn-secondary">$services.localization.render('nextcloud.no')</a>
47 <input type="hidden" name="client_id" value="$escapetool.xml($request.client_id)" />
48 <input type="hidden" name="redirect_uri" value="$escapetool.xml($request.redirect_uri)" />
49 <input type="hidden" name="state" value="$escapetool.xml($request.state)" />
50 <button class="btn btn-primary">$services.localization.render('nextcloud.yes')</button>
51 </p>
52 </form>
53 </div>
54 #else
55 #set($token = $services.nextcloud.createNewToken($clientID, $xcontext.user, $redirectURI))
56 #if("$!token" == "")
57 <div class="box">
58 <p>
59 $services.localization.render('nextcloud.generatetokenfailed').replace("{URL}", "&lt;strong&gt;$escapetool.xml($request.generate_token)&lt;/strong&gt;")
60 </p>
61 </div>
62 #else
63 <div class="box">
64 #if("$!request.request_token" != "")
65 <form method="post" action="$escapetool.xml($request.request_token)">
66 #end
67 <p>A token has been generated for <strong>$escapetool.xml($request.generate_token)</strong>.</p>
68 #if("$!request.request_token" != "")
69 <p><button name="token" value="$token" class="btn btn-primary">Continue</button></p>
70 </form>
71 #else
72 <a href="">$services.localization.render('nextcloud.goback')</a>
73 #end
74 </div>
75 #end
76 #end
77 #else
78 <p>$services.localization.render('nextcloud.infotoken')</p>
79 <p>$services.localization.render('nextcloud.notetoken')</p>
80 #end
81 #end
82 {{/velocity}}