♻️ Replaced new domains in used parts
This commit is contained in:
parent
392f98c925
commit
cba81b5ac4
|
@ -6,6 +6,8 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/grant"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
"source.toby3d.me/toby3d/form"
|
"source.toby3d.me/toby3d/form"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -26,7 +28,7 @@ type (
|
||||||
|
|
||||||
// Indicates to the authorization server that an authorization
|
// Indicates to the authorization server that an authorization
|
||||||
// code should be returned as the response.
|
// code should be returned as the response.
|
||||||
ResponseType domain.ResponseType `form:"response_type"` // code
|
ResponseType response.Type `form:"response_type"` // code
|
||||||
|
|
||||||
// A parameter set by the client which will be included when the
|
// A parameter set by the client which will be included when the
|
||||||
// user is redirected back to the client. This is used to
|
// user is redirected back to the client. This is used to
|
||||||
|
@ -50,7 +52,7 @@ type (
|
||||||
Me domain.Me `form:"me"`
|
Me domain.Me `form:"me"`
|
||||||
RedirectURI domain.URL `form:"redirect_uri"`
|
RedirectURI domain.URL `form:"redirect_uri"`
|
||||||
CodeChallengeMethod domain.CodeChallengeMethod `form:"code_challenge_method,omitempty"`
|
CodeChallengeMethod domain.CodeChallengeMethod `form:"code_challenge_method,omitempty"`
|
||||||
ResponseType domain.ResponseType `form:"response_type"`
|
ResponseType response.Type `form:"response_type"`
|
||||||
Authorize string `form:"authorize"`
|
Authorize string `form:"authorize"`
|
||||||
CodeChallenge string `form:"code_challenge,omitempty"`
|
CodeChallenge string `form:"code_challenge,omitempty"`
|
||||||
State string `form:"state"`
|
State string `form:"state"`
|
||||||
|
@ -59,7 +61,7 @@ type (
|
||||||
}
|
}
|
||||||
|
|
||||||
AuthExchangeRequest struct {
|
AuthExchangeRequest struct {
|
||||||
GrantType domain.GrantType `form:"grant_type"` // authorization_code
|
GrantType grant.Type `form:"grant_type"` // authorization_code
|
||||||
|
|
||||||
// The client's URL, which MUST match the client_id used in the
|
// The client's URL, which MUST match the client_id used in the
|
||||||
// authentication request.
|
// authentication request.
|
||||||
|
@ -98,7 +100,7 @@ func NewAuthAuthorizationRequest() *AuthAuthorizationRequest {
|
||||||
CodeChallengeMethod: domain.CodeChallengeMethodUnd,
|
CodeChallengeMethod: domain.CodeChallengeMethodUnd,
|
||||||
Me: domain.Me{},
|
Me: domain.Me{},
|
||||||
RedirectURI: domain.URL{},
|
RedirectURI: domain.URL{},
|
||||||
ResponseType: domain.ResponseTypeUnd,
|
ResponseType: response.Und,
|
||||||
Scope: make(domain.Scopes, 0),
|
Scope: make(domain.Scopes, 0),
|
||||||
State: "",
|
State: "",
|
||||||
}
|
}
|
||||||
|
@ -117,8 +119,8 @@ func (r *AuthAuthorizationRequest) bind(req *http.Request) error {
|
||||||
"https://indieauth.net/source/#authorization-request")
|
"https://indieauth.net/source/#authorization-request")
|
||||||
}
|
}
|
||||||
|
|
||||||
if r.ResponseType == domain.ResponseTypeID {
|
if r.ResponseType == response.ID {
|
||||||
r.ResponseType = domain.ResponseTypeCode
|
r.ResponseType = response.Code
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -133,7 +135,7 @@ func NewAuthVerifyRequest() *AuthVerifyRequest {
|
||||||
Me: domain.Me{},
|
Me: domain.Me{},
|
||||||
Provider: "",
|
Provider: "",
|
||||||
RedirectURI: domain.URL{},
|
RedirectURI: domain.URL{},
|
||||||
ResponseType: domain.ResponseTypeUnd,
|
ResponseType: response.Und,
|
||||||
Scope: make(domain.Scopes, 0),
|
Scope: make(domain.Scopes, 0),
|
||||||
State: "",
|
State: "",
|
||||||
}
|
}
|
||||||
|
@ -159,8 +161,8 @@ func (r *AuthVerifyRequest) bind(req *http.Request) error {
|
||||||
|
|
||||||
// NOTE(toby3d): backwards-compatible support.
|
// NOTE(toby3d): backwards-compatible support.
|
||||||
// See: https://aaronparecki.com/2020/12/03/1/indieauth-2020#response-type
|
// See: https://aaronparecki.com/2020/12/03/1/indieauth-2020#response-type
|
||||||
if r.ResponseType == domain.ResponseTypeID {
|
if r.ResponseType == response.ID {
|
||||||
r.ResponseType = domain.ResponseTypeCode
|
r.ResponseType = response.Code
|
||||||
}
|
}
|
||||||
|
|
||||||
r.Provider = strings.ToLower(r.Provider)
|
r.Provider = strings.ToLower(r.Provider)
|
||||||
|
|
|
@ -19,6 +19,7 @@ import (
|
||||||
clientrepo "source.toby3d.me/toby3d/auth/internal/client/repository/memory"
|
clientrepo "source.toby3d.me/toby3d/auth/internal/client/repository/memory"
|
||||||
clientucase "source.toby3d.me/toby3d/auth/internal/client/usecase"
|
clientucase "source.toby3d.me/toby3d/auth/internal/client/usecase"
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
"source.toby3d.me/toby3d/auth/internal/profile"
|
"source.toby3d.me/toby3d/auth/internal/profile"
|
||||||
profilerepo "source.toby3d.me/toby3d/auth/internal/profile/repository/memory"
|
profilerepo "source.toby3d.me/toby3d/auth/internal/profile/repository/memory"
|
||||||
"source.toby3d.me/toby3d/auth/internal/session"
|
"source.toby3d.me/toby3d/auth/internal/session"
|
||||||
|
@ -68,7 +69,7 @@ func TestAuthorize(t *testing.T) {
|
||||||
"code_challenge_method": domain.CodeChallengeMethodS256.String(),
|
"code_challenge_method": domain.CodeChallengeMethodS256.String(),
|
||||||
"me": me.String(),
|
"me": me.String(),
|
||||||
"redirect_uri": client.RedirectURI[0].String(),
|
"redirect_uri": client.RedirectURI[0].String(),
|
||||||
"response_type": domain.ResponseTypeCode.String(),
|
"response_type": response.Code.String(),
|
||||||
"scope": "profile email",
|
"scope": "profile email",
|
||||||
"state": "1234567890",
|
"state": "1234567890",
|
||||||
} {
|
} {
|
||||||
|
|
|
@ -7,14 +7,16 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
"slices"
|
||||||
|
|
||||||
"github.com/tomnomnom/linkheader"
|
"github.com/tomnomnom/linkheader"
|
||||||
"golang.org/x/exp/slices"
|
|
||||||
"willnorris.com/go/microformats"
|
"willnorris.com/go/microformats"
|
||||||
|
|
||||||
"source.toby3d.me/toby3d/auth/internal/client"
|
"source.toby3d.me/toby3d/auth/internal/client"
|
||||||
"source.toby3d.me/toby3d/auth/internal/common"
|
"source.toby3d.me/toby3d/auth/internal/common"
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/grant"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
@ -30,11 +32,11 @@ type (
|
||||||
Microsub domain.URL `json:"microsub"`
|
Microsub domain.URL `json:"microsub"`
|
||||||
Issuer domain.URL `json:"issuer"`
|
Issuer domain.URL `json:"issuer"`
|
||||||
Micropub domain.URL `json:"micropub"`
|
Micropub domain.URL `json:"micropub"`
|
||||||
GrantTypesSupported []domain.GrantType `json:"grant_types_supported,omitempty"`
|
GrantTypesSupported []grant.Type `json:"grant_types_supported,omitempty"`
|
||||||
IntrospectionEndpointAuthMethodsSupported []string `json:"introspection_endpoint_auth_methods_supported,omitempty"`
|
IntrospectionEndpointAuthMethodsSupported []string `json:"introspection_endpoint_auth_methods_supported,omitempty"`
|
||||||
RevocationEndpointAuthMethodsSupported []string `json:"revocation_endpoint_auth_methods_supported,omitempty"`
|
RevocationEndpointAuthMethodsSupported []string `json:"revocation_endpoint_auth_methods_supported,omitempty"`
|
||||||
ScopesSupported []domain.Scope `json:"scopes_supported,omitempty"`
|
ScopesSupported []domain.Scope `json:"scopes_supported,omitempty"`
|
||||||
ResponseTypesSupported []domain.ResponseType `json:"response_types_supported,omitempty"`
|
ResponseTypesSupported []response.Type `json:"response_types_supported,omitempty"`
|
||||||
CodeChallengeMethodsSupported []domain.CodeChallengeMethod `json:"code_challenge_methods_supported"`
|
CodeChallengeMethodsSupported []domain.CodeChallengeMethod `json:"code_challenge_methods_supported"`
|
||||||
AuthorizationResponseIssParameterSupported bool `json:"authorization_response_iss_parameter_supported,omitempty"`
|
AuthorizationResponseIssParameterSupported bool `json:"authorization_response_iss_parameter_supported,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
//nolint:dupl
|
|
||||||
package domain_test
|
package domain_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
|
@ -12,6 +12,8 @@ import (
|
||||||
|
|
||||||
"source.toby3d.me/toby3d/auth/internal/common"
|
"source.toby3d.me/toby3d/auth/internal/common"
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/grant"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
"source.toby3d.me/toby3d/auth/internal/metadata"
|
"source.toby3d.me/toby3d/auth/internal/metadata"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -28,11 +30,11 @@ type (
|
||||||
Microsub domain.URL `json:"microsub"`
|
Microsub domain.URL `json:"microsub"`
|
||||||
Issuer domain.URL `json:"issuer"`
|
Issuer domain.URL `json:"issuer"`
|
||||||
Micropub domain.URL `json:"micropub"`
|
Micropub domain.URL `json:"micropub"`
|
||||||
GrantTypesSupported []domain.GrantType `json:"grant_types_supported,omitempty"`
|
GrantTypesSupported []grant.Type `json:"grant_types_supported,omitempty"`
|
||||||
IntrospectionEndpointAuthMethodsSupported []string `json:"introspection_endpoint_auth_methods_supported,omitempty"`
|
IntrospectionEndpointAuthMethodsSupported []string `json:"introspection_endpoint_auth_methods_supported,omitempty"`
|
||||||
RevocationEndpointAuthMethodsSupported []string `json:"revocation_endpoint_auth_methods_supported,omitempty"`
|
RevocationEndpointAuthMethodsSupported []string `json:"revocation_endpoint_auth_methods_supported,omitempty"`
|
||||||
ScopesSupported []domain.Scope `json:"scopes_supported,omitempty"`
|
ScopesSupported []domain.Scope `json:"scopes_supported,omitempty"`
|
||||||
ResponseTypesSupported []domain.ResponseType `json:"response_types_supported,omitempty"`
|
ResponseTypesSupported []response.Type `json:"response_types_supported,omitempty"`
|
||||||
CodeChallengeMethodsSupported []domain.CodeChallengeMethod `json:"code_challenge_methods_supported"`
|
CodeChallengeMethodsSupported []domain.CodeChallengeMethod `json:"code_challenge_methods_supported"`
|
||||||
AuthorizationResponseIssParameterSupported bool `json:"authorization_response_iss_parameter_supported,omitempty"`
|
AuthorizationResponseIssParameterSupported bool `json:"authorization_response_iss_parameter_supported,omitempty"`
|
||||||
}
|
}
|
||||||
|
@ -118,8 +120,8 @@ func populateBuffer(dst map[string][]string, rel, u string) {
|
||||||
func NewResponse() *Response {
|
func NewResponse() *Response {
|
||||||
return &Response{
|
return &Response{
|
||||||
CodeChallengeMethodsSupported: make([]domain.CodeChallengeMethod, 0),
|
CodeChallengeMethodsSupported: make([]domain.CodeChallengeMethod, 0),
|
||||||
GrantTypesSupported: make([]domain.GrantType, 0),
|
GrantTypesSupported: make([]grant.Type, 0),
|
||||||
ResponseTypesSupported: make([]domain.ResponseType, 0),
|
ResponseTypesSupported: make([]response.Type, 0),
|
||||||
ScopesSupported: make([]domain.Scope, 0),
|
ScopesSupported: make([]domain.Scope, 0),
|
||||||
IntrospectionEndpointAuthMethodsSupported: make([]string, 0),
|
IntrospectionEndpointAuthMethodsSupported: make([]string, 0),
|
||||||
RevocationEndpointAuthMethodsSupported: make([]string, 0),
|
RevocationEndpointAuthMethodsSupported: make([]string, 0),
|
||||||
|
|
|
@ -14,6 +14,8 @@ import (
|
||||||
|
|
||||||
"source.toby3d.me/toby3d/auth/internal/common"
|
"source.toby3d.me/toby3d/auth/internal/common"
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/grant"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
repository "source.toby3d.me/toby3d/auth/internal/metadata/repository/http"
|
repository "source.toby3d.me/toby3d/auth/internal/metadata/repository/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -120,8 +122,8 @@ func TestGet(t *testing.T) {
|
||||||
if diff := cmp.Diff(tc.out, out, cmp.AllowUnexported(
|
if diff := cmp.Diff(tc.out, out, cmp.AllowUnexported(
|
||||||
domain.ClientID{},
|
domain.ClientID{},
|
||||||
domain.CodeChallengeMethod{},
|
domain.CodeChallengeMethod{},
|
||||||
domain.GrantType{},
|
grant.Und,
|
||||||
domain.ResponseType{},
|
response.Und,
|
||||||
domain.Scope{},
|
domain.Scope{},
|
||||||
url.URL{},
|
url.URL{},
|
||||||
)); diff != "" {
|
)); diff != "" {
|
||||||
|
|
|
@ -5,23 +5,24 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/grant"
|
||||||
"source.toby3d.me/toby3d/form"
|
"source.toby3d.me/toby3d/form"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
TokenExchangeRequest struct {
|
TokenExchangeRequest struct {
|
||||||
ClientID domain.ClientID `form:"client_id"`
|
ClientID domain.ClientID `form:"client_id"`
|
||||||
RedirectURI domain.URL `form:"redirect_uri"`
|
RedirectURI domain.URL `form:"redirect_uri"`
|
||||||
GrantType domain.GrantType `form:"grant_type"`
|
GrantType grant.Type `form:"grant_type"`
|
||||||
Code string `form:"code"`
|
Code string `form:"code"`
|
||||||
CodeVerifier string `form:"code_verifier"`
|
CodeVerifier string `form:"code_verifier"`
|
||||||
}
|
}
|
||||||
|
|
||||||
TokenRefreshRequest struct {
|
TokenRefreshRequest struct {
|
||||||
// The client ID that was used when the refresh token was issued.
|
// The client ID that was used when the refresh token was issued.
|
||||||
ClientID domain.ClientID `form:"client_id"`
|
ClientID domain.ClientID `form:"client_id"`
|
||||||
|
|
||||||
GrantType domain.GrantType `form:"grant_type"` // refresh_token
|
GrantType grant.Type `form:"grant_type"` // refresh_token
|
||||||
|
|
||||||
// The refresh token previously offered to the client.
|
// The refresh token previously offered to the client.
|
||||||
RefreshToken string `form:"refresh_token"`
|
RefreshToken string `form:"refresh_token"`
|
||||||
|
|
|
@ -15,6 +15,8 @@ import (
|
||||||
|
|
||||||
"source.toby3d.me/toby3d/auth/internal/common"
|
"source.toby3d.me/toby3d/auth/internal/common"
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/grant"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
"source.toby3d.me/toby3d/auth/internal/user"
|
"source.toby3d.me/toby3d/auth/internal/user"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -31,11 +33,11 @@ type (
|
||||||
Microsub domain.URL `json:"microsub"`
|
Microsub domain.URL `json:"microsub"`
|
||||||
Issuer domain.URL `json:"issuer"`
|
Issuer domain.URL `json:"issuer"`
|
||||||
Micropub domain.URL `json:"micropub"`
|
Micropub domain.URL `json:"micropub"`
|
||||||
GrantTypesSupported []domain.GrantType `json:"grant_types_supported,omitempty"`
|
GrantTypesSupported []grant.Type `json:"grant_types_supported,omitempty"`
|
||||||
IntrospectionEndpointAuthMethodsSupported []string `json:"introspection_endpoint_auth_methods_supported,omitempty"`
|
IntrospectionEndpointAuthMethodsSupported []string `json:"introspection_endpoint_auth_methods_supported,omitempty"`
|
||||||
RevocationEndpointAuthMethodsSupported []string `json:"revocation_endpoint_auth_methods_supported,omitempty"`
|
RevocationEndpointAuthMethodsSupported []string `json:"revocation_endpoint_auth_methods_supported,omitempty"`
|
||||||
ScopesSupported []domain.Scope `json:"scopes_supported,omitempty"`
|
ScopesSupported []domain.Scope `json:"scopes_supported,omitempty"`
|
||||||
ResponseTypesSupported []domain.ResponseType `json:"response_types_supported,omitempty"`
|
ResponseTypesSupported []response.Type `json:"response_types_supported,omitempty"`
|
||||||
CodeChallengeMethodsSupported []domain.CodeChallengeMethod `json:"code_challenge_methods_supported"`
|
CodeChallengeMethodsSupported []domain.CodeChallengeMethod `json:"code_challenge_methods_supported"`
|
||||||
AuthorizationResponseIssParameterSupported bool `json:"authorization_response_iss_parameter_supported,omitempty"`
|
AuthorizationResponseIssParameterSupported bool `json:"authorization_response_iss_parameter_supported,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
12
main.go
12
main.go
|
@ -37,6 +37,8 @@ import (
|
||||||
clienthttprepo "source.toby3d.me/toby3d/auth/internal/client/repository/http"
|
clienthttprepo "source.toby3d.me/toby3d/auth/internal/client/repository/http"
|
||||||
clientucase "source.toby3d.me/toby3d/auth/internal/client/usecase"
|
clientucase "source.toby3d.me/toby3d/auth/internal/client/usecase"
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/grant"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
healthhttpdelivery "source.toby3d.me/toby3d/auth/internal/health/delivery/http"
|
healthhttpdelivery "source.toby3d.me/toby3d/auth/internal/health/delivery/http"
|
||||||
metadatahttpdelivery "source.toby3d.me/toby3d/auth/internal/metadata/delivery/http"
|
metadatahttpdelivery "source.toby3d.me/toby3d/auth/internal/metadata/delivery/http"
|
||||||
"source.toby3d.me/toby3d/auth/internal/middleware"
|
"source.toby3d.me/toby3d/auth/internal/middleware"
|
||||||
|
@ -286,12 +288,12 @@ func (app *App) Handler() http.Handler {
|
||||||
domain.ScopeRead,
|
domain.ScopeRead,
|
||||||
domain.ScopeUpdate,
|
domain.ScopeUpdate,
|
||||||
},
|
},
|
||||||
ResponseTypesSupported: []domain.ResponseType{
|
ResponseTypesSupported: []response.Type{
|
||||||
domain.ResponseTypeCode,
|
response.Code,
|
||||||
},
|
},
|
||||||
GrantTypesSupported: []domain.GrantType{
|
GrantTypesSupported: []grant.Type{
|
||||||
domain.GrantTypeAuthorizationCode,
|
grant.AuthorizationCode,
|
||||||
domain.GrantTypeTicket,
|
grant.Ticket,
|
||||||
},
|
},
|
||||||
CodeChallengeMethodsSupported: []domain.CodeChallengeMethod{
|
CodeChallengeMethodsSupported: []domain.CodeChallengeMethod{
|
||||||
domain.CodeChallengeMethodMD5,
|
domain.CodeChallengeMethodMD5,
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
{% import (
|
{% import (
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
"source.toby3d.me/toby3d/auth/web/template/layout"
|
"source.toby3d.me/toby3d/auth/web/template/layout"
|
||||||
) %}
|
) %}
|
||||||
|
|
||||||
|
@ -9,7 +10,7 @@
|
||||||
layout.BaseOf
|
layout.BaseOf
|
||||||
Scope domain.Scopes
|
Scope domain.Scopes
|
||||||
CodeChallengeMethod domain.CodeChallengeMethod
|
CodeChallengeMethod domain.CodeChallengeMethod
|
||||||
ResponseType domain.ResponseType
|
ResponseType response.Type
|
||||||
Client *domain.Client
|
Client *domain.Client
|
||||||
Me *domain.Me
|
Me *domain.Me
|
||||||
RedirectURI *domain.URL
|
RedirectURI *domain.URL
|
||||||
|
|
|
@ -7,28 +7,29 @@ package template
|
||||||
//line web/template/authorize.qtpl:3
|
//line web/template/authorize.qtpl:3
|
||||||
import (
|
import (
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
"source.toby3d.me/toby3d/auth/web/template/layout"
|
"source.toby3d.me/toby3d/auth/web/template/layout"
|
||||||
)
|
)
|
||||||
|
|
||||||
//line web/template/authorize.qtpl:8
|
//line web/template/authorize.qtpl:9
|
||||||
import (
|
import (
|
||||||
qtio422016 "io"
|
qtio422016 "io"
|
||||||
|
|
||||||
qt422016 "github.com/valyala/quicktemplate"
|
qt422016 "github.com/valyala/quicktemplate"
|
||||||
)
|
)
|
||||||
|
|
||||||
//line web/template/authorize.qtpl:8
|
//line web/template/authorize.qtpl:9
|
||||||
var (
|
var (
|
||||||
_ = qtio422016.Copy
|
_ = qtio422016.Copy
|
||||||
_ = qt422016.AcquireByteBuffer
|
_ = qt422016.AcquireByteBuffer
|
||||||
)
|
)
|
||||||
|
|
||||||
//line web/template/authorize.qtpl:8
|
//line web/template/authorize.qtpl:9
|
||||||
type Authorize struct {
|
type Authorize struct {
|
||||||
layout.BaseOf
|
layout.BaseOf
|
||||||
Scope domain.Scopes
|
Scope domain.Scopes
|
||||||
CodeChallengeMethod domain.CodeChallengeMethod
|
CodeChallengeMethod domain.CodeChallengeMethod
|
||||||
ResponseType domain.ResponseType
|
ResponseType response.Type
|
||||||
Client *domain.Client
|
Client *domain.Client
|
||||||
Me *domain.Me
|
Me *domain.Me
|
||||||
RedirectURI *domain.URL
|
RedirectURI *domain.URL
|
||||||
|
@ -38,74 +39,74 @@ type Authorize struct {
|
||||||
State string
|
State string
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/authorize.qtpl:22
|
//line web/template/authorize.qtpl:23
|
||||||
func (p *Authorize) StreamTitle(qw422016 *qt422016.Writer) {
|
func (p *Authorize) StreamTitle(qw422016 *qt422016.Writer) {
|
||||||
//line web/template/authorize.qtpl:22
|
//line web/template/authorize.qtpl:23
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:23
|
//line web/template/authorize.qtpl:24
|
||||||
if p.Client.Name != "" {
|
if p.Client.Name != "" {
|
||||||
//line web/template/authorize.qtpl:23
|
//line web/template/authorize.qtpl:24
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:24
|
//line web/template/authorize.qtpl:25
|
||||||
p.StreamT(qw422016, "Authorize %s", p.Client.Name)
|
p.StreamT(qw422016, "Authorize %s", p.Client.Name)
|
||||||
//line web/template/authorize.qtpl:24
|
//line web/template/authorize.qtpl:25
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:25
|
//line web/template/authorize.qtpl:26
|
||||||
} else {
|
} else {
|
||||||
//line web/template/authorize.qtpl:25
|
//line web/template/authorize.qtpl:26
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:26
|
//line web/template/authorize.qtpl:27
|
||||||
p.StreamT(qw422016, "Authorize application")
|
p.StreamT(qw422016, "Authorize application")
|
||||||
//line web/template/authorize.qtpl:26
|
//line web/template/authorize.qtpl:27
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:27
|
//line web/template/authorize.qtpl:28
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:27
|
//line web/template/authorize.qtpl:28
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
func (p *Authorize) WriteTitle(qq422016 qtio422016.Writer) {
|
func (p *Authorize) WriteTitle(qq422016 qtio422016.Writer) {
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
p.StreamTitle(qw422016)
|
p.StreamTitle(qw422016)
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
func (p *Authorize) Title() string {
|
func (p *Authorize) Title() string {
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
p.WriteTitle(qb422016)
|
p.WriteTitle(qb422016)
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
return qs422016
|
return qs422016
|
||||||
//line web/template/authorize.qtpl:28
|
//line web/template/authorize.qtpl:29
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/authorize.qtpl:30
|
//line web/template/authorize.qtpl:31
|
||||||
func (p *Authorize) StreamBody(qw422016 *qt422016.Writer) {
|
func (p *Authorize) StreamBody(qw422016 *qt422016.Writer) {
|
||||||
//line web/template/authorize.qtpl:30
|
//line web/template/authorize.qtpl:31
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<header>
|
<header>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:32
|
//line web/template/authorize.qtpl:33
|
||||||
if p.Client.Logo != nil {
|
if p.Client.Logo != nil {
|
||||||
//line web/template/authorize.qtpl:32
|
//line web/template/authorize.qtpl:33
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<img class=""
|
<img class=""
|
||||||
crossorigin="anonymous"
|
crossorigin="anonymous"
|
||||||
|
@ -115,73 +116,73 @@ func (p *Authorize) StreamBody(qw422016 *qt422016.Writer) {
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
referrerpolicy="no-referrer-when-downgrade"
|
referrerpolicy="no-referrer-when-downgrade"
|
||||||
src="`)
|
src="`)
|
||||||
//line web/template/authorize.qtpl:40
|
//line web/template/authorize.qtpl:41
|
||||||
qw422016.E().S(p.Client.Logo.String())
|
qw422016.E().S(p.Client.Logo.String())
|
||||||
//line web/template/authorize.qtpl:40
|
//line web/template/authorize.qtpl:41
|
||||||
qw422016.N().S(`"
|
qw422016.N().S(`"
|
||||||
alt="`)
|
alt="`)
|
||||||
//line web/template/authorize.qtpl:41
|
//line web/template/authorize.qtpl:42
|
||||||
qw422016.E().S(p.Client.Name)
|
qw422016.E().S(p.Client.Name)
|
||||||
//line web/template/authorize.qtpl:41
|
//line web/template/authorize.qtpl:42
|
||||||
qw422016.N().S(`"
|
qw422016.N().S(`"
|
||||||
width="140">
|
width="140">
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:43
|
//line web/template/authorize.qtpl:44
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:43
|
//line web/template/authorize.qtpl:44
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:46
|
//line web/template/authorize.qtpl:47
|
||||||
if p.Client.URL != nil {
|
if p.Client.URL != nil {
|
||||||
//line web/template/authorize.qtpl:46
|
//line web/template/authorize.qtpl:47
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<a href="`)
|
<a href="`)
|
||||||
//line web/template/authorize.qtpl:47
|
//line web/template/authorize.qtpl:48
|
||||||
qw422016.E().S(p.Client.URL.String())
|
qw422016.E().S(p.Client.URL.String())
|
||||||
//line web/template/authorize.qtpl:47
|
//line web/template/authorize.qtpl:48
|
||||||
qw422016.N().S(`">
|
qw422016.N().S(`">
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:48
|
//line web/template/authorize.qtpl:49
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:48
|
//line web/template/authorize.qtpl:49
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:49
|
//line web/template/authorize.qtpl:50
|
||||||
if p.Client.Name != "" {
|
if p.Client.Name != "" {
|
||||||
//line web/template/authorize.qtpl:49
|
//line web/template/authorize.qtpl:50
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:50
|
//line web/template/authorize.qtpl:51
|
||||||
qw422016.E().S(p.Client.Name)
|
qw422016.E().S(p.Client.Name)
|
||||||
//line web/template/authorize.qtpl:50
|
//line web/template/authorize.qtpl:51
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:51
|
//line web/template/authorize.qtpl:52
|
||||||
} else {
|
} else {
|
||||||
//line web/template/authorize.qtpl:51
|
//line web/template/authorize.qtpl:52
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:52
|
//line web/template/authorize.qtpl:53
|
||||||
qw422016.E().S(p.Client.ID.String())
|
qw422016.E().S(p.Client.ID.String())
|
||||||
//line web/template/authorize.qtpl:52
|
//line web/template/authorize.qtpl:53
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:53
|
//line web/template/authorize.qtpl:54
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:53
|
//line web/template/authorize.qtpl:54
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:54
|
//line web/template/authorize.qtpl:55
|
||||||
if p.Client.URL != nil {
|
if p.Client.URL != nil {
|
||||||
//line web/template/authorize.qtpl:54
|
//line web/template/authorize.qtpl:55
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</a>
|
</a>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:56
|
//line web/template/authorize.qtpl:57
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:56
|
//line web/template/authorize.qtpl:57
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</h2>
|
</h2>
|
||||||
</header>
|
</header>
|
||||||
|
@ -189,9 +190,9 @@ func (p *Authorize) StreamBody(qw422016 *qt422016.Writer) {
|
||||||
<main>
|
<main>
|
||||||
<aside>
|
<aside>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:62
|
//line web/template/authorize.qtpl:63
|
||||||
if p.CodeChallengeMethod != domain.CodeChallengeMethodUnd && p.CodeChallenge != "" {
|
if p.CodeChallengeMethod != domain.CodeChallengeMethodUnd && p.CodeChallenge != "" {
|
||||||
//line web/template/authorize.qtpl:62
|
//line web/template/authorize.qtpl:63
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<p class="with-icon">
|
<p class="with-icon">
|
||||||
<span class="icon"
|
<span class="icon"
|
||||||
|
@ -199,16 +200,16 @@ func (p *Authorize) StreamBody(qw422016 *qt422016.Writer) {
|
||||||
aria-label="closed lock with key">🔐</span>
|
aria-label="closed lock with key">🔐</span>
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:68
|
//line web/template/authorize.qtpl:69
|
||||||
p.StreamT(qw422016, `This client uses %sPKCE%s with the %s%s%s method.`, `<abbr title="Proof of Key Code Exchange">`,
|
p.StreamT(qw422016, `This client uses %sPKCE%s with the %s%s%s method.`, `<abbr title="Proof of Key Code Exchange">`,
|
||||||
`</abbr>`, `<code>`, p.CodeChallengeMethod, `</code>`)
|
`</abbr>`, `<code>`, p.CodeChallengeMethod, `</code>`)
|
||||||
//line web/template/authorize.qtpl:69
|
//line web/template/authorize.qtpl:70
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</p>
|
</p>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:71
|
//line web/template/authorize.qtpl:72
|
||||||
} else {
|
} else {
|
||||||
//line web/template/authorize.qtpl:71
|
//line web/template/authorize.qtpl:72
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<details>
|
<details>
|
||||||
<summary class="with-icon">
|
<summary class="with-icon">
|
||||||
|
@ -217,26 +218,26 @@ func (p *Authorize) StreamBody(qw422016 *qt422016.Writer) {
|
||||||
aria-label="unlock">🔓</span>
|
aria-label="unlock">🔓</span>
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:78
|
//line web/template/authorize.qtpl:79
|
||||||
p.StreamT(qw422016, `This client does not use %sPKCE%s!`, `<abbr title="Proof of Key Code Exchange">`, `</abbr>`)
|
p.StreamT(qw422016, `This client does not use %sPKCE%s!`, `<abbr title="Proof of Key Code Exchange">`, `</abbr>`)
|
||||||
//line web/template/authorize.qtpl:78
|
//line web/template/authorize.qtpl:79
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</summary>
|
</summary>
|
||||||
<p>
|
<p>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:81
|
//line web/template/authorize.qtpl:82
|
||||||
p.StreamT(qw422016, `%sProof of Key Code Exchange%s is a mechanism that protects against attackers in the middle hijacking `+
|
p.StreamT(qw422016, `%sProof of Key Code Exchange%s is a mechanism that protects against attackers in the middle hijacking `+
|
||||||
`your application's authentication process. You can still authorize this application without this protection, `+
|
`your application's authentication process. You can still authorize this application without this protection, `+
|
||||||
`but you must independently verify the security of this connection. If you have any doubts - stop the process `+
|
`but you must independently verify the security of this connection. If you have any doubts - stop the process `+
|
||||||
` and contact the developers.`, `<dfn id="PKCE">`, `</dfn>`)
|
` and contact the developers.`, `<dfn id="PKCE">`, `</dfn>`)
|
||||||
//line web/template/authorize.qtpl:84
|
//line web/template/authorize.qtpl:85
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</p>
|
</p>
|
||||||
</details>
|
</details>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:87
|
//line web/template/authorize.qtpl:88
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:87
|
//line web/template/authorize.qtpl:88
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
|
@ -250,215 +251,215 @@ func (p *Authorize) StreamBody(qw422016 *qt422016.Writer) {
|
||||||
target="_self">
|
target="_self">
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:99
|
//line web/template/authorize.qtpl:100
|
||||||
if p.CSRF != nil {
|
if p.CSRF != nil {
|
||||||
//line web/template/authorize.qtpl:99
|
//line web/template/authorize.qtpl:100
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<input type="hidden"
|
<input type="hidden"
|
||||||
name="_csrf"
|
name="_csrf"
|
||||||
value="`)
|
value="`)
|
||||||
//line web/template/authorize.qtpl:102
|
//line web/template/authorize.qtpl:103
|
||||||
qw422016.E().Z(p.CSRF)
|
qw422016.E().Z(p.CSRF)
|
||||||
//line web/template/authorize.qtpl:102
|
//line web/template/authorize.qtpl:103
|
||||||
qw422016.N().S(`">
|
qw422016.N().S(`">
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:103
|
//line web/template/authorize.qtpl:104
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:103
|
//line web/template/authorize.qtpl:104
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:105
|
//line web/template/authorize.qtpl:106
|
||||||
for key, val := range map[string]string{
|
for key, val := range map[string]string{
|
||||||
"client_id": p.Client.ID.String(),
|
"client_id": p.Client.ID.String(),
|
||||||
"redirect_uri": p.RedirectURI.String(),
|
"redirect_uri": p.RedirectURI.String(),
|
||||||
"response_type": p.ResponseType.String(),
|
"response_type": p.ResponseType.String(),
|
||||||
"state": p.State,
|
"state": p.State,
|
||||||
} {
|
} {
|
||||||
//line web/template/authorize.qtpl:110
|
//line web/template/authorize.qtpl:111
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<input type="hidden"
|
<input type="hidden"
|
||||||
name="`)
|
name="`)
|
||||||
//line web/template/authorize.qtpl:112
|
//line web/template/authorize.qtpl:113
|
||||||
qw422016.E().S(key)
|
qw422016.E().S(key)
|
||||||
//line web/template/authorize.qtpl:112
|
//line web/template/authorize.qtpl:113
|
||||||
qw422016.N().S(`"
|
qw422016.N().S(`"
|
||||||
value="`)
|
value="`)
|
||||||
//line web/template/authorize.qtpl:113
|
//line web/template/authorize.qtpl:114
|
||||||
qw422016.E().S(val)
|
qw422016.E().S(val)
|
||||||
//line web/template/authorize.qtpl:113
|
//line web/template/authorize.qtpl:114
|
||||||
qw422016.N().S(`">
|
qw422016.N().S(`">
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:114
|
//line web/template/authorize.qtpl:115
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:114
|
//line web/template/authorize.qtpl:115
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:116
|
//line web/template/authorize.qtpl:117
|
||||||
if len(p.Scope) > 0 {
|
if len(p.Scope) > 0 {
|
||||||
//line web/template/authorize.qtpl:116
|
//line web/template/authorize.qtpl:117
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>`)
|
<legend>`)
|
||||||
//line web/template/authorize.qtpl:118
|
//line web/template/authorize.qtpl:119
|
||||||
p.StreamT(qw422016, "Scopes")
|
p.StreamT(qw422016, "Scopes")
|
||||||
//line web/template/authorize.qtpl:118
|
//line web/template/authorize.qtpl:119
|
||||||
qw422016.N().S(`</legend>
|
qw422016.N().S(`</legend>
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:120
|
//line web/template/authorize.qtpl:121
|
||||||
for _, scope := range p.Scope {
|
for _, scope := range p.Scope {
|
||||||
//line web/template/authorize.qtpl:120
|
//line web/template/authorize.qtpl:121
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<div>
|
<div>
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox"
|
<input type="checkbox"
|
||||||
name="scope[]"
|
name="scope[]"
|
||||||
value="`)
|
value="`)
|
||||||
//line web/template/authorize.qtpl:125
|
//line web/template/authorize.qtpl:126
|
||||||
qw422016.E().S(scope.String())
|
qw422016.E().S(scope.String())
|
||||||
//line web/template/authorize.qtpl:125
|
//line web/template/authorize.qtpl:126
|
||||||
qw422016.N().S(`"
|
qw422016.N().S(`"
|
||||||
checked>
|
checked>
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:128
|
//line web/template/authorize.qtpl:129
|
||||||
qw422016.E().S(scope.String())
|
qw422016.E().S(scope.String())
|
||||||
//line web/template/authorize.qtpl:128
|
//line web/template/authorize.qtpl:129
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:131
|
//line web/template/authorize.qtpl:132
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:131
|
//line web/template/authorize.qtpl:132
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</fieldset>
|
</fieldset>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:133
|
//line web/template/authorize.qtpl:134
|
||||||
} else {
|
} else {
|
||||||
//line web/template/authorize.qtpl:133
|
//line web/template/authorize.qtpl:134
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<aside>
|
<aside>
|
||||||
<p>`)
|
<p>`)
|
||||||
//line web/template/authorize.qtpl:135
|
//line web/template/authorize.qtpl:136
|
||||||
p.StreamT(qw422016, `No scopes is requested: the application will only get your profile URL.`)
|
p.StreamT(qw422016, `No scopes is requested: the application will only get your profile URL.`)
|
||||||
//line web/template/authorize.qtpl:135
|
//line web/template/authorize.qtpl:136
|
||||||
qw422016.N().S(`</p>
|
qw422016.N().S(`</p>
|
||||||
</aside>
|
</aside>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:137
|
//line web/template/authorize.qtpl:138
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:137
|
//line web/template/authorize.qtpl:138
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:139
|
//line web/template/authorize.qtpl:140
|
||||||
if p.CodeChallenge != "" {
|
if p.CodeChallenge != "" {
|
||||||
//line web/template/authorize.qtpl:139
|
//line web/template/authorize.qtpl:140
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:140
|
//line web/template/authorize.qtpl:141
|
||||||
for key, val := range map[string]string{
|
for key, val := range map[string]string{
|
||||||
"code_challenge": p.CodeChallenge,
|
"code_challenge": p.CodeChallenge,
|
||||||
"code_challenge_method": p.CodeChallengeMethod.String(),
|
"code_challenge_method": p.CodeChallengeMethod.String(),
|
||||||
} {
|
} {
|
||||||
//line web/template/authorize.qtpl:143
|
//line web/template/authorize.qtpl:144
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<input type="hidden"
|
<input type="hidden"
|
||||||
name="`)
|
name="`)
|
||||||
//line web/template/authorize.qtpl:145
|
//line web/template/authorize.qtpl:146
|
||||||
qw422016.E().S(key)
|
qw422016.E().S(key)
|
||||||
//line web/template/authorize.qtpl:145
|
//line web/template/authorize.qtpl:146
|
||||||
qw422016.N().S(`"
|
qw422016.N().S(`"
|
||||||
value="`)
|
value="`)
|
||||||
//line web/template/authorize.qtpl:146
|
//line web/template/authorize.qtpl:147
|
||||||
qw422016.E().S(val)
|
qw422016.E().S(val)
|
||||||
//line web/template/authorize.qtpl:146
|
//line web/template/authorize.qtpl:147
|
||||||
qw422016.N().S(`">
|
qw422016.N().S(`">
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:147
|
//line web/template/authorize.qtpl:148
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:147
|
//line web/template/authorize.qtpl:148
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:148
|
//line web/template/authorize.qtpl:149
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:148
|
//line web/template/authorize.qtpl:149
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:150
|
//line web/template/authorize.qtpl:151
|
||||||
if p.Me != nil {
|
if p.Me != nil {
|
||||||
//line web/template/authorize.qtpl:150
|
//line web/template/authorize.qtpl:151
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<input type="hidden"
|
<input type="hidden"
|
||||||
name="me"
|
name="me"
|
||||||
value="`)
|
value="`)
|
||||||
//line web/template/authorize.qtpl:153
|
//line web/template/authorize.qtpl:154
|
||||||
qw422016.E().S(p.Me.String())
|
qw422016.E().S(p.Me.String())
|
||||||
//line web/template/authorize.qtpl:153
|
//line web/template/authorize.qtpl:154
|
||||||
qw422016.N().S(`">
|
qw422016.N().S(`">
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:154
|
//line web/template/authorize.qtpl:155
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:154
|
//line web/template/authorize.qtpl:155
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:156
|
//line web/template/authorize.qtpl:157
|
||||||
if len(p.Providers) > 0 {
|
if len(p.Providers) > 0 {
|
||||||
//line web/template/authorize.qtpl:156
|
//line web/template/authorize.qtpl:157
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<select name="provider"
|
<select name="provider"
|
||||||
autocomplete
|
autocomplete
|
||||||
required>
|
required>
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:161
|
//line web/template/authorize.qtpl:162
|
||||||
for _, provider := range p.Providers {
|
for _, provider := range p.Providers {
|
||||||
//line web/template/authorize.qtpl:161
|
//line web/template/authorize.qtpl:162
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<option value="`)
|
<option value="`)
|
||||||
//line web/template/authorize.qtpl:162
|
//line web/template/authorize.qtpl:163
|
||||||
qw422016.E().S(provider.UID)
|
qw422016.E().S(provider.UID)
|
||||||
//line web/template/authorize.qtpl:162
|
//line web/template/authorize.qtpl:163
|
||||||
qw422016.N().S(`"
|
qw422016.N().S(`"
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:163
|
//line web/template/authorize.qtpl:164
|
||||||
if provider.UID == "mastodon" {
|
if provider.UID == "mastodon" {
|
||||||
//line web/template/authorize.qtpl:163
|
//line web/template/authorize.qtpl:164
|
||||||
qw422016.N().S(`selected`)
|
qw422016.N().S(`selected`)
|
||||||
//line web/template/authorize.qtpl:163
|
//line web/template/authorize.qtpl:164
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:163
|
//line web/template/authorize.qtpl:164
|
||||||
qw422016.N().S(`>
|
qw422016.N().S(`>
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:165
|
//line web/template/authorize.qtpl:166
|
||||||
qw422016.E().S(provider.Name)
|
qw422016.E().S(provider.Name)
|
||||||
//line web/template/authorize.qtpl:165
|
//line web/template/authorize.qtpl:166
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</option>
|
</option>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:167
|
//line web/template/authorize.qtpl:168
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:167
|
//line web/template/authorize.qtpl:168
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</select>
|
</select>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:169
|
//line web/template/authorize.qtpl:170
|
||||||
} else {
|
} else {
|
||||||
//line web/template/authorize.qtpl:169
|
//line web/template/authorize.qtpl:170
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<input type="hidden"
|
<input type="hidden"
|
||||||
name="provider"
|
name="provider"
|
||||||
value="direct">
|
value="direct">
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:173
|
//line web/template/authorize.qtpl:174
|
||||||
}
|
}
|
||||||
//line web/template/authorize.qtpl:173
|
//line web/template/authorize.qtpl:174
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
|
|
||||||
<button type="submit"
|
<button type="submit"
|
||||||
|
@ -466,9 +467,9 @@ func (p *Authorize) StreamBody(qw422016 *qt422016.Writer) {
|
||||||
value="deny">
|
value="deny">
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:179
|
//line web/template/authorize.qtpl:180
|
||||||
p.StreamT(qw422016, "Deny")
|
p.StreamT(qw422016, "Deny")
|
||||||
//line web/template/authorize.qtpl:179
|
//line web/template/authorize.qtpl:180
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
@ -477,47 +478,47 @@ func (p *Authorize) StreamBody(qw422016 *qt422016.Writer) {
|
||||||
value="allow">
|
value="allow">
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:186
|
//line web/template/authorize.qtpl:187
|
||||||
p.StreamT(qw422016, "Allow")
|
p.StreamT(qw422016, "Allow")
|
||||||
//line web/template/authorize.qtpl:186
|
//line web/template/authorize.qtpl:187
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<aside>
|
<aside>
|
||||||
<p>`)
|
<p>`)
|
||||||
//line web/template/authorize.qtpl:190
|
//line web/template/authorize.qtpl:191
|
||||||
p.StreamT(qw422016, `You will be redirected to %s%s%s`, `<code>`, p.RedirectURI, `</code>`)
|
p.StreamT(qw422016, `You will be redirected to %s%s%s`, `<code>`, p.RedirectURI, `</code>`)
|
||||||
//line web/template/authorize.qtpl:190
|
//line web/template/authorize.qtpl:191
|
||||||
qw422016.N().S(`</p>
|
qw422016.N().S(`</p>
|
||||||
</aside>
|
</aside>
|
||||||
</form>
|
</form>
|
||||||
</main>
|
</main>
|
||||||
`)
|
`)
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
func (p *Authorize) WriteBody(qq422016 qtio422016.Writer) {
|
func (p *Authorize) WriteBody(qq422016 qtio422016.Writer) {
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
p.StreamBody(qw422016)
|
p.StreamBody(qw422016)
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
func (p *Authorize) Body() string {
|
func (p *Authorize) Body() string {
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
p.WriteBody(qb422016)
|
p.WriteBody(qb422016)
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
return qs422016
|
return qs422016
|
||||||
//line web/template/authorize.qtpl:194
|
//line web/template/authorize.qtpl:195
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
{% import (
|
{% import (
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
"source.toby3d.me/toby3d/auth/web/template/layout"
|
"source.toby3d.me/toby3d/auth/web/template/layout"
|
||||||
) %}
|
) %}
|
||||||
|
|
||||||
|
@ -54,7 +55,7 @@
|
||||||
{% for name, value := range map[string]string{
|
{% for name, value := range map[string]string{
|
||||||
"client_id": p.Client.ID.String(),
|
"client_id": p.Client.ID.String(),
|
||||||
"redirect_uri": p.Client.RedirectURI[0].String(),
|
"redirect_uri": p.Client.RedirectURI[0].String(),
|
||||||
"response_type": domain.ResponseTypeCode.String(),
|
"response_type": response.Code.String(),
|
||||||
"scope": domain.Scopes{domain.ScopeEmail, domain.ScopeProfile}.String(),
|
"scope": domain.Scopes{domain.ScopeEmail, domain.ScopeProfile}.String(),
|
||||||
"state": p.State,
|
"state": p.State,
|
||||||
} %}
|
} %}
|
||||||
|
|
|
@ -7,157 +7,158 @@ package template
|
||||||
//line web/template/home.qtpl:3
|
//line web/template/home.qtpl:3
|
||||||
import (
|
import (
|
||||||
"source.toby3d.me/toby3d/auth/internal/domain"
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
||||||
|
"source.toby3d.me/toby3d/auth/internal/domain/response"
|
||||||
"source.toby3d.me/toby3d/auth/web/template/layout"
|
"source.toby3d.me/toby3d/auth/web/template/layout"
|
||||||
)
|
)
|
||||||
|
|
||||||
//line web/template/home.qtpl:8
|
//line web/template/home.qtpl:9
|
||||||
import (
|
import (
|
||||||
qtio422016 "io"
|
qtio422016 "io"
|
||||||
|
|
||||||
qt422016 "github.com/valyala/quicktemplate"
|
qt422016 "github.com/valyala/quicktemplate"
|
||||||
)
|
)
|
||||||
|
|
||||||
//line web/template/home.qtpl:8
|
//line web/template/home.qtpl:9
|
||||||
var (
|
var (
|
||||||
_ = qtio422016.Copy
|
_ = qtio422016.Copy
|
||||||
_ = qt422016.AcquireByteBuffer
|
_ = qt422016.AcquireByteBuffer
|
||||||
)
|
)
|
||||||
|
|
||||||
//line web/template/home.qtpl:8
|
//line web/template/home.qtpl:9
|
||||||
type Home struct {
|
type Home struct {
|
||||||
layout.BaseOf
|
layout.BaseOf
|
||||||
Client *domain.Client
|
Client *domain.Client
|
||||||
State string
|
State string
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/home.qtpl:15
|
//line web/template/home.qtpl:16
|
||||||
func (p *Home) StreamHead(qw422016 *qt422016.Writer) {
|
func (p *Home) StreamHead(qw422016 *qt422016.Writer) {
|
||||||
//line web/template/home.qtpl:15
|
|
||||||
qw422016.N().S(` `)
|
|
||||||
//line web/template/home.qtpl:16
|
//line web/template/home.qtpl:16
|
||||||
|
qw422016.N().S(` `)
|
||||||
|
//line web/template/home.qtpl:17
|
||||||
p.BaseOf.StreamHead(qw422016)
|
p.BaseOf.StreamHead(qw422016)
|
||||||
//line web/template/home.qtpl:16
|
|
||||||
qw422016.N().S(` `)
|
|
||||||
//line web/template/home.qtpl:17
|
//line web/template/home.qtpl:17
|
||||||
|
qw422016.N().S(` `)
|
||||||
|
//line web/template/home.qtpl:18
|
||||||
for i := range p.Client.RedirectURI {
|
for i := range p.Client.RedirectURI {
|
||||||
//line web/template/home.qtpl:17
|
//line web/template/home.qtpl:18
|
||||||
qw422016.N().S(` <link rel="redirect_uri" href="`)
|
qw422016.N().S(` <link rel="redirect_uri" href="`)
|
||||||
//line web/template/home.qtpl:19
|
//line web/template/home.qtpl:20
|
||||||
qw422016.E().S(p.Client.RedirectURI[i].String())
|
qw422016.E().S(p.Client.RedirectURI[i].String())
|
||||||
//line web/template/home.qtpl:19
|
//line web/template/home.qtpl:20
|
||||||
qw422016.N().S(`"> `)
|
qw422016.N().S(`"> `)
|
||||||
//line web/template/home.qtpl:20
|
//line web/template/home.qtpl:21
|
||||||
}
|
}
|
||||||
//line web/template/home.qtpl:20
|
//line web/template/home.qtpl:21
|
||||||
qw422016.N().S(` `)
|
qw422016.N().S(` `)
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
func (p *Home) WriteHead(qq422016 qtio422016.Writer) {
|
func (p *Home) WriteHead(qq422016 qtio422016.Writer) {
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
p.StreamHead(qw422016)
|
p.StreamHead(qw422016)
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
func (p *Home) Head() string {
|
func (p *Home) Head() string {
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
p.WriteHead(qb422016)
|
p.WriteHead(qb422016)
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
return qs422016
|
return qs422016
|
||||||
//line web/template/home.qtpl:21
|
//line web/template/home.qtpl:22
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/home.qtpl:23
|
//line web/template/home.qtpl:24
|
||||||
func (p *Home) StreamBody(qw422016 *qt422016.Writer) {
|
func (p *Home) StreamBody(qw422016 *qt422016.Writer) {
|
||||||
//line web/template/home.qtpl:23
|
//line web/template/home.qtpl:24
|
||||||
qw422016.N().S(` <header class="h-app h-x-app"> `)
|
qw422016.N().S(` <header class="h-app h-x-app"> `)
|
||||||
//line web/template/home.qtpl:25
|
//line web/template/home.qtpl:26
|
||||||
if p.Client.Logo != nil {
|
if p.Client.Logo != nil {
|
||||||
//line web/template/home.qtpl:25
|
//line web/template/home.qtpl:26
|
||||||
qw422016.N().S(` <img class="u-logo" src="`)
|
qw422016.N().S(` <img class="u-logo" src="`)
|
||||||
//line web/template/home.qtpl:27
|
//line web/template/home.qtpl:28
|
||||||
qw422016.E().S(p.Client.Logo.String())
|
qw422016.E().S(p.Client.Logo.String())
|
||||||
//line web/template/home.qtpl:27
|
//line web/template/home.qtpl:28
|
||||||
qw422016.N().S(`" alt="`)
|
qw422016.N().S(`" alt="`)
|
||||||
//line web/template/home.qtpl:28
|
//line web/template/home.qtpl:29
|
||||||
qw422016.E().S(p.Client.Name)
|
qw422016.E().S(p.Client.Name)
|
||||||
//line web/template/home.qtpl:28
|
//line web/template/home.qtpl:29
|
||||||
qw422016.N().S(`" crossorigin="anonymous" decoding="async" height="140" importance="high" referrerpolicy="no-referrer-when-downgrade" width="140"> `)
|
qw422016.N().S(`" crossorigin="anonymous" decoding="async" height="140" importance="high" referrerpolicy="no-referrer-when-downgrade" width="140"> `)
|
||||||
//line web/template/home.qtpl:35
|
//line web/template/home.qtpl:36
|
||||||
}
|
}
|
||||||
//line web/template/home.qtpl:35
|
//line web/template/home.qtpl:36
|
||||||
qw422016.N().S(` <h1> <a class="p-name u-url" href="`)
|
qw422016.N().S(` <h1> <a class="p-name u-url" href="`)
|
||||||
//line web/template/home.qtpl:39
|
//line web/template/home.qtpl:40
|
||||||
qw422016.E().S(p.Client.URL.String())
|
qw422016.E().S(p.Client.URL.String())
|
||||||
//line web/template/home.qtpl:39
|
//line web/template/home.qtpl:40
|
||||||
qw422016.N().S(`"> `)
|
qw422016.N().S(`"> `)
|
||||||
//line web/template/home.qtpl:41
|
//line web/template/home.qtpl:42
|
||||||
qw422016.E().S(p.Client.Name)
|
qw422016.E().S(p.Client.Name)
|
||||||
//line web/template/home.qtpl:41
|
//line web/template/home.qtpl:42
|
||||||
qw422016.N().S(` </a> </h1> </header> <main> <form class="" method="get" action="/authorize" enctype="application/x-www-form-urlencoded" accept-charset="utf-8" target="_self"> `)
|
qw422016.N().S(` </a> </h1> </header> <main> <form class="" method="get" action="/authorize" enctype="application/x-www-form-urlencoded" accept-charset="utf-8" target="_self"> `)
|
||||||
//line web/template/home.qtpl:54
|
//line web/template/home.qtpl:55
|
||||||
for name, value := range map[string]string{
|
for name, value := range map[string]string{
|
||||||
"client_id": p.Client.ID.String(),
|
"client_id": p.Client.ID.String(),
|
||||||
"redirect_uri": p.Client.RedirectURI[0].String(),
|
"redirect_uri": p.Client.RedirectURI[0].String(),
|
||||||
"response_type": domain.ResponseTypeCode.String(),
|
"response_type": response.Code.String(),
|
||||||
"scope": domain.Scopes{domain.ScopeEmail, domain.ScopeProfile}.String(),
|
"scope": domain.Scopes{domain.ScopeEmail, domain.ScopeProfile}.String(),
|
||||||
"state": p.State,
|
"state": p.State,
|
||||||
} {
|
} {
|
||||||
//line web/template/home.qtpl:60
|
//line web/template/home.qtpl:61
|
||||||
qw422016.N().S(` <input type="hidden" name="`)
|
qw422016.N().S(` <input type="hidden" name="`)
|
||||||
//line web/template/home.qtpl:62
|
//line web/template/home.qtpl:63
|
||||||
qw422016.E().S(name)
|
qw422016.E().S(name)
|
||||||
//line web/template/home.qtpl:62
|
//line web/template/home.qtpl:63
|
||||||
qw422016.N().S(`" value="`)
|
qw422016.N().S(`" value="`)
|
||||||
//line web/template/home.qtpl:63
|
//line web/template/home.qtpl:64
|
||||||
qw422016.E().S(value)
|
qw422016.E().S(value)
|
||||||
//line web/template/home.qtpl:63
|
//line web/template/home.qtpl:64
|
||||||
qw422016.N().S(`"> `)
|
qw422016.N().S(`"> `)
|
||||||
//line web/template/home.qtpl:64
|
//line web/template/home.qtpl:65
|
||||||
}
|
}
|
||||||
//line web/template/home.qtpl:64
|
//line web/template/home.qtpl:65
|
||||||
qw422016.N().S(` <input type="url" name="me" placeholder="https://example.com/" inputmode="url" autocomplete="url" required> <button type="submit">`)
|
qw422016.N().S(` <input type="url" name="me" placeholder="https://example.com/" inputmode="url" autocomplete="url" required> <button type="submit">`)
|
||||||
//line web/template/home.qtpl:73
|
//line web/template/home.qtpl:74
|
||||||
p.StreamT(qw422016, "Sign In")
|
p.StreamT(qw422016, "Sign In")
|
||||||
//line web/template/home.qtpl:73
|
//line web/template/home.qtpl:74
|
||||||
qw422016.N().S(`</button> </form> </main> `)
|
qw422016.N().S(`</button> </form> </main> `)
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
func (p *Home) WriteBody(qq422016 qtio422016.Writer) {
|
func (p *Home) WriteBody(qq422016 qtio422016.Writer) {
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
p.StreamBody(qw422016)
|
p.StreamBody(qw422016)
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
}
|
}
|
||||||
|
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
func (p *Home) Body() string {
|
func (p *Home) Body() string {
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
p.WriteBody(qb422016)
|
p.WriteBody(qb422016)
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
return qs422016
|
return qs422016
|
||||||
//line web/template/home.qtpl:76
|
//line web/template/home.qtpl:77
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user