-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cmd: Introduce public and administrative ports
This patch introduces two ports, public and administrative. The public port is responsible for handling API requests to public endpoints such as /oauth2/auth, while the administrative port handles requests to JWK, OAuth 2.0 Client, and Login & Consent endpoints. Closes ory#904 Signed-off-by: arekkas <aeneas@ory.am>
- Loading branch information
Showing
23 changed files
with
525 additions
and
248 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
// Copyright © 2018 NAME HERE <EMAIL ADDRESS> | ||
// | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
package cmd | ||
|
||
import ( | ||
"github.com/ory/hydra/cmd/server" | ||
"github.com/spf13/cobra" | ||
) | ||
|
||
// adminCmd represents the admin command | ||
var adminCmd = &cobra.Command{ | ||
Use: "admin", | ||
Short: "Serves Administrative HTTP/2 APIs", | ||
Long: `This command opens one port and listens to HTTP/2 API requests. The exposed API handles administrative | ||
requests like managing OAuth 2.0 Clients, JSON Web Keys, login and consent sessions, and others. | ||
This command is configurable using the same options available to "serve public" and "serve all". | ||
It is generally recommended to use this command only if you require granular control over the administrative and public APIs. | ||
For example, you might want to run different TLS certificates or CORS settings on the public and administrative API. | ||
This command does not work with the "memory" database. Both services (administrative, public) MUST use the same database | ||
connection to be able to synchronize. | ||
` + serveControls, | ||
Run: server.RunServeAdmin(c), | ||
} | ||
|
||
func init() { | ||
serveCmd.AddCommand(adminCmd) | ||
|
||
// Here you will define your flags and configuration settings. | ||
|
||
// Cobra supports Persistent Flags which will work for this command | ||
// and all subcommands, e.g.: | ||
// adminCmd.PersistentFlags().String("foo", "", "A help for foo") | ||
|
||
// Cobra supports local flags which will only run when this command | ||
// is called directly, e.g.: | ||
// adminCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle") | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
// Copyright © 2018 NAME HERE <EMAIL ADDRESS> | ||
// | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
package cmd | ||
|
||
import ( | ||
"github.com/ory/hydra/cmd/server" | ||
"github.com/spf13/cobra" | ||
) | ||
|
||
// allCmd represents the all command | ||
var allCmd = &cobra.Command{ | ||
Use: "all", | ||
Short: "Serves both public and administrative HTTP/2 APIs", | ||
Long: `Starts a process which listens on two ports for public and administrative HTTP/2 API requests. | ||
If you want more granular control (e.g. different TLS settings) over each API group (administrative, public) you | ||
can run "serve admin" and "serve public" separately. | ||
This command exposes a variety of controls via environment variables. You can | ||
set environments using "export KEY=VALUE" (Linux/macOS) or "set KEY=VALUE" (Windows). On Linux, | ||
you can also set environments by prepending key value pairs: "KEY=VALUE KEY2=VALUE2 hydra" | ||
All possible controls are listed below. This command exposes exposes command line flags, which are listed below | ||
the controls section. | ||
` + serveControls, | ||
Run: server.RunServeAll(c), | ||
} | ||
|
||
func init() { | ||
serveCmd.AddCommand(allCmd) | ||
|
||
// Here you will define your flags and configuration settings. | ||
|
||
// Cobra supports Persistent Flags which will work for this command | ||
// and all subcommands, e.g.: | ||
// allCmd.PersistentFlags().String("foo", "", "A help for foo") | ||
|
||
// Cobra supports local flags which will only run when this command | ||
// is called directly, e.g.: | ||
// allCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle") | ||
} |
Oops, something went wrong.