Skip to content

Commit

Permalink
oauth2 client create and edit page
Browse files Browse the repository at this point in the history
  • Loading branch information
josxha committed Oct 23, 2023
1 parent 894df52 commit 6d36c46
Show file tree
Hide file tree
Showing 8 changed files with 267 additions and 65 deletions.
2 changes: 1 addition & 1 deletion KratosSelfService/Views/Home/Home.cshtml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@{
ViewData["Title"] = "Welcome";
ViewData["Title"] = CustomTranslator.Get("Welcome");
Layout = "_CardLayout";
}

Expand Down
199 changes: 199 additions & 0 deletions OryAdmin/Components/Elements/Oauth2ClientFields.razor
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
@using Ory.Hydra.Client.Model
@code {

[Parameter]
public required HydraOAuth2Client Client { get; set; }

private void UpdateClientScope(ChangeEventArgs args)
{
var value = args.Value?.ToString();
if (value == null)
{
Client.Scope = null;
return;
}

var items = value
.Split(",")
.Select(s => s.Trim());
Client.Scope = string.Join(" ", items);
}

}

<div class="box p-5">
<h2 class="subtitle">General</h2>
<div class="field">
<label class="label">
Client name
<div class="control">
<input type="text" class="input"
value="@Client.ClientName"
@onchange="args => Client.ClientName = args.Value?.ToString()"/>
</div>
</label>
</div>
<div class="field">
<label class="label">
Scope
<div class="control">
<input type="text" class="input"
value="@Client.Scope?.Replace(" ", ", ")"
@onchange="UpdateClientScope"/>
</div>
</label>
</div>
<div class="field">
<label class="label">
Redirect URIs (one entry per line)
<div class="control">
<textarea class="textarea" rows="3" @onchange="args => Client.RedirectUris = args.MultilineToList()">
@string.Join("\n", Client.RedirectUris ?? new List<string>())
</textarea>
</div>
</label>
</div>
</div>
<div class="box p-5">
<h2 class="subtitle">Consent screen</h2>
<div class="field">
<label class="checkbox">
<input type="checkbox"
value="@Client.SkipConsent"
@onchange="args => Client.SkipConsent = (bool?)args.Value ?? false"/>
Skip consent screen
</label>
</div>
<div class="field">
<label class="label">
Owner
<div class="control">
<input type="text" class="input"
value="@Client.Owner"
@onchange="args => Client.Owner = args.Value?.ToString()"/>
</div>
</label>
</div>
<div class="field">
<label class="label">
Client URI
<div class="control">
<input type="url" class="input"
value="@Client.ClientUri"
@onchange="args => Client.ClientUri = args.Value?.ToString()"/>
</div>
</label>
</div>
<div class="field">
<label class="label">
Logo URI
<div class="control">
<input type="url" class="input"
value="@Client.LogoUri"
@onchange="args => Client.LogoUri = args.Value?.ToString()"/>
</div>
</label>
</div>
<div class="field">
<label class="label">
Policy URI
<div class="control">
<input type="url" class="input"
value="@Client.PolicyUri"
@onchange="args => Client.PolicyUri = args.Value?.ToString()"/>
</div>
</label>
</div>
<div class="field">
<label class="label">
Terms of services URI
<div class="control">
<input type="url" class="input"
value="@Client.TosUri"
@onchange="args => Client.TosUri = args.Value?.ToString()"/>
</div>
</label>
</div>
<div class="field">
<label class="label">
Contacts (one entry per line)
<div class="control">
<textarea class="textarea" rows="3" @onchange="args => Client.Contacts = args.MultilineToList()">
@string.Join("\n", Client.Contacts ?? new List<string>())
</textarea>
</div>
</label>
</div>
</div>
<div class="box p-5">
<h2 class="subtitle">Supported OAuth2 flows</h2>
<div class="field">
<label class="label">
Grant types (one entry per line)
<div class="control">
<textarea class="textarea" rows="3" @onchange="args => Client.GrantTypes = args.MultilineToList()">
@string.Join("\n", Client.GrantTypes ?? new List<string>())
</textarea>
</div>
</label>
</div>
<div class="field">
<label class="label">
Response types (one entry per line)
<div class="control">
<textarea class="textarea" rows="3" @onchange="args => Client.ResponseTypes = args.MultilineToList()">
@string.Join("\n", Client.ResponseTypes ?? new List<string>())
</textarea>
</div>
</label>
</div>
<div class="field">
<label class="label">
Access token type
<div class="control">
<input type="text" class="input"
value="@Client.AccessTokenStrategy"
@onchange="args => Client.AccessTokenStrategy = args.Value?.ToString()"/>
</div>
</label>
</div>
</div>
<div class="box p-5">
<h2 class="subtitle">OpenID connect logout</h2>
<div class="field">
<label class="checkbox">
<input type="checkbox"
value="@Client.FrontchannelLogoutSessionRequired"
@onchange="args => Client.FrontchannelLogoutSessionRequired = (bool?)args.Value ?? false"/>
Frontchannel logout session required
</label>
</div>
<div class="field">
<label class="checkbox">
<input type="checkbox"
value="@Client.BackchannelLogoutSessionRequired"
@onchange="args => Client.BackchannelLogoutSessionRequired = (bool?)args.Value ?? false"/>
Backchannel logout session required
</label>
</div>
<div class="field">
<label class="label">
Frontchannel logout URI
<div class="control">
<input type="text" class="input"
value="@Client.FrontchannelLogoutUri"
@onchange="args => Client.FrontchannelLogoutUri = args.Value?.ToString()"/>
</div>
</label>
</div>
<div class="field">
<label class="label">
Backchannel logout URI
<div class="control">
<input type="text" class="input"
value="@Client.BackchannelLogoutUri"
@onchange="args => Client.BackchannelLogoutUri = args.Value?.ToString()"/>
</div>
</label>
</div>
</div>
20 changes: 7 additions & 13 deletions OryAdmin/Components/Pages/OAuth2/Clients/Create.razor
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,12 @@

<h1 class="title">Create Client</h1>
<form @onsubmit="SubmitForm">
<div class="field">
<label class="label">
Client Name
<div class="control">
<input type="text" class="input" value="@_client.ClientName"
@onchange="args => _client.ClientName = args.Value?.ToString()"/>
</div>
</label>
</div>
<div class="message is-warning p-2 @(string.IsNullOrWhiteSpace(_errorMessage) ? "is-hidden" : "")">
@_errorMessage
<div class="box p-5 @(string.IsNullOrWhiteSpace(_errorMessage) ? "is-hidden" : "")">
<div class="message is-warning p-2">
@_errorMessage
</div>
</div>
<Oauth2ClientFields Client="_client"/>
<div class="mt-5">
<div class="buttons">
<a class="button" href="oauth2/clients">
Expand Down Expand Up @@ -51,9 +45,9 @@
</div>
</section>
<footer class="modal-card-foot">
<div class="button is-info" @onclick="GotoIndexPage">
<a class="button is-info" href="oauth2/clients">
Done
</div>
</a>
</footer>
</div>
</div>
5 changes: 0 additions & 5 deletions OryAdmin/Components/Pages/OAuth2/Clients/Create.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,4 @@ private async Task SubmitForm()
_errorMessage = exception.Message;
}
}

private void GotoIndexPage()
{
nav.NavigateTo("oauth2/clients");
}
}
16 changes: 5 additions & 11 deletions OryAdmin/Components/Pages/OAuth2/Clients/Edit.razor
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,12 @@
else
{
<form @onsubmit="SubmitForm">
<div class="field">
<label class="label">
Client Name
<div class="control">
<input type="text" class="input" value="@_client?.ClientName"
@onchange="args => _client!.ClientName = args.Value?.ToString()"/>
</div>
</label>
</div>
<div class="message is-warning p-2 @(string.IsNullOrWhiteSpace(_errorMessage) ? "is-hidden" : "")">
@_errorMessage
<div class="box p-5 @(string.IsNullOrWhiteSpace(_errorMessage) ? "is-hidden" : "")">
<div class="message is-warning p-2">
@_errorMessage
</div>
</div>
<Oauth2ClientFields Client="_client"/>
<div class="mt-5">
<div class="buttons">
<a class="button" href="oauth2/clients/@ClientId">
Expand Down
Loading

0 comments on commit 6d36c46

Please sign in to comment.