Show dashboard Set session store to file Signed-off-by: Jonas Franz <info@jonasfranz.software>web-ui
parent
2f5e24d9cc
commit
b1670e92bf
@ -0,0 +1,46 @@ |
|||||||
|
package auth |
||||||
|
|
||||||
|
import ( |
||||||
|
"code.gitea.io/sdk/gitea" |
||||||
|
"git.jonasfranz.software/JonasFranzDEV/gitea-github-migrator/web/context" |
||||||
|
) |
||||||
|
|
||||||
|
type GiteaLoginForm struct { |
||||||
|
Username string `form:"username"` |
||||||
|
Password string `form:"password"` |
||||||
|
AccessToken string `form:"access-token"` |
||||||
|
GiteaURL string `form:"gitea-url"` |
||||||
|
Type string `form:"use" binding:"Required;In(token,password)"` |
||||||
|
} |
||||||
|
|
||||||
|
func LoginToGitea(ctx *context.Context, form GiteaLoginForm) { |
||||||
|
var token string |
||||||
|
if form.Type == "password" { |
||||||
|
client := gitea.NewClient(form.GiteaURL, "") |
||||||
|
tkn, err := client.CreateAccessToken(form.Username, form.Password, gitea.CreateAccessTokenOption{ |
||||||
|
Name: "gitea-github-migrator", |
||||||
|
}) |
||||||
|
if err != nil { |
||||||
|
ctx.Flash.Error("Cannot create access token please check your credentials!") |
||||||
|
ctx.Redirect("/") |
||||||
|
return |
||||||
|
} |
||||||
|
token = tkn.Sha1 |
||||||
|
} else { |
||||||
|
token = form.AccessToken |
||||||
|
} |
||||||
|
client := gitea.NewClient(form.GiteaURL, token) |
||||||
|
usr, err := client.GetMyUserInfo() |
||||||
|
if err != nil { |
||||||
|
ctx.Flash.Error("Invalid Gitea credentials.") |
||||||
|
ctx.Redirect("/") |
||||||
|
return |
||||||
|
} |
||||||
|
ctx.Session.Set("gitea_user", &context.User{ |
||||||
|
Username: usr.UserName, |
||||||
|
Token: token, |
||||||
|
AvatarURL: usr.AvatarURL, |
||||||
|
}) |
||||||
|
ctx.Redirect("/") |
||||||
|
return |
||||||
|
} |
@ -0,0 +1,32 @@ |
|||||||
|
{{template "base/head" .}} |
||||||
|
<div class="ui middle aligned center aligned grid"> |
||||||
|
<div class="column"> |
||||||
|
<h1 class="ui image header"> |
||||||
|
<div class="content"> |
||||||
|
Gitea Migrator |
||||||
|
</div> |
||||||
|
</h1> |
||||||
|
<div class="ui message"> |
||||||
|
You've connected your GitHub and Gitea account. |
||||||
|
</div> |
||||||
|
<div class="ui icon message"> |
||||||
|
<i class="icon github"></i> |
||||||
|
<div class="content"> |
||||||
|
<h3 class="header">GitHub connected</h3> |
||||||
|
You're logged in as <code>{{.User.Username}}</code>. <a href="/logout">Not you?</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="ui icon attached message"> |
||||||
|
<i class="icon lock"></i> |
||||||
|
<div class="content"> |
||||||
|
<h3 class="header">Gitea connected</h3> |
||||||
|
You're logged in as <code>{{.GiteaUser.Username}}</code>. <a href="/logout">Not you?</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="ui stacked segment"> |
||||||
|
<button class="ui fluid large green labeld icon button"><i class="icon list"></i> Migrate Repositories...</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
{{template "base/footer" .}} |
@ -0,0 +1,67 @@ |
|||||||
|
{{template "base/head" .}} |
||||||
|
<div class="ui middle aligned center aligned grid"> |
||||||
|
<div class="column"> |
||||||
|
<h1 class="ui image header"> |
||||||
|
<div class="content"> |
||||||
|
Gitea Migrator |
||||||
|
</div> |
||||||
|
</h1> |
||||||
|
<div class="ui message"> |
||||||
|
You've connected you GitHub account. The next step is to connect to your Gitea instance. |
||||||
|
</div> |
||||||
|
<div class="ui icon message"> |
||||||
|
<i class="icon github"></i> |
||||||
|
<div class="content"> |
||||||
|
<h3 class="header">GitHub connected</h3> |
||||||
|
You're logged in as <code>{{.User.Username}}</code>. <a href="/logout">Not you?</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="ui icon attached message"> |
||||||
|
<i class="icon lock"></i> |
||||||
|
<div class="content"> |
||||||
|
<h3 class="header">Login to Gitea</h3> |
||||||
|
You can use your user credentials or an access token to log in to your Gitea instance. If you use your credentials |
||||||
|
an access token will be created for you. |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<form action="/gitea" method="POST" class="ui large form"> |
||||||
|
<div class="ui attached fluid segment"> |
||||||
|
<div class="field"> |
||||||
|
<label>Gitea URL</label> |
||||||
|
<input name="gitea-url" type="url"> |
||||||
|
</div> |
||||||
|
<h3>Credentials</h3> |
||||||
|
<div class="ui top attached tabular menu"> |
||||||
|
<a class="active item" data-tab="password">Username + Password</a> |
||||||
|
<a class="item" data-tab="access-token">Access Token</a> |
||||||
|
</div> |
||||||
|
<div class="ui bottom attached tab segment active" data-tab="password"> |
||||||
|
<div class="field"> |
||||||
|
<label>Username</label> |
||||||
|
<input name="username" placeholder="Username" type="text"> |
||||||
|
</div> |
||||||
|
<div class="field"> |
||||||
|
<label>Password</label> |
||||||
|
<input name="password" type="password"> |
||||||
|
</div> |
||||||
|
<button type="submit" name="use" value="password" class="ui fluid large green submit button">Login to Gitea</button> |
||||||
|
</div> |
||||||
|
<div class="ui bottom attached tab segment" data-tab="access-token"> |
||||||
|
<div class="field"> |
||||||
|
<label>Access Token</label> |
||||||
|
<input name="access-token" type="password"> |
||||||
|
</div> |
||||||
|
<button type="submit" name="use" value="token" class="ui fluid large green submit button">Login to Gitea</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="ui error message"></div> |
||||||
|
</form> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<script> |
||||||
|
$('.menu .item') |
||||||
|
.tab() |
||||||
|
; |
||||||
|
</script> |
||||||
|
{{template "base/footer" .}} |
@ -1,22 +0,0 @@ |
|||||||
{{template "base/head" .}} |
|
||||||
<div class="ui middle aligned center aligned grid"> |
|
||||||
<div class="column"> |
|
||||||
<h1 class="ui image header"> |
|
||||||
<div class="content"> |
|
||||||
Welcome {{.User.Username}} |
|
||||||
</div> |
|
||||||
</h1> |
|
||||||
<div class="ui message"> |
|
||||||
Migrate all your GitHub repositories to your Gitea instance including all issues, labels and milestones. |
|
||||||
</div> |
|
||||||
<form class="ui large form"> |
|
||||||
<div class="ui stacked segment"> |
|
||||||
<a href="/github" class="ui fluid large green submit labeled icon button"><i class="icon github"></i> Login with GitHub</a> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="ui error message"></div> |
|
||||||
|
|
||||||
</form> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
{{template "base/footer" .}} |
|
Loading…
Reference in new issue