You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-08-09 04:22:45 +03:00
Fix email verification link
This commit is contained in:
@@ -24,8 +24,7 @@ use warp::Filter;
|
|||||||
|
|
||||||
impl From<&HttpConfig> for UrlBuilder {
|
impl From<&HttpConfig> for UrlBuilder {
|
||||||
fn from(config: &HttpConfig) -> Self {
|
fn from(config: &HttpConfig) -> Self {
|
||||||
let base = config.public_base.clone();
|
Self::new(config.public_base.clone())
|
||||||
Self { base }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,6 +35,12 @@ pub struct UrlBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl UrlBuilder {
|
impl UrlBuilder {
|
||||||
|
/// Create a new [`UrlBuilder`] from a base URL
|
||||||
|
#[must_use]
|
||||||
|
pub fn new(base: Url) -> Self {
|
||||||
|
Self { base }
|
||||||
|
}
|
||||||
|
|
||||||
/// OIDC issuer
|
/// OIDC issuer
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn oidc_issuer(&self) -> Url {
|
pub fn oidc_issuer(&self) -> Url {
|
||||||
@@ -84,7 +89,7 @@ impl UrlBuilder {
|
|||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn email_verification(&self, code: &str) -> Url {
|
pub fn email_verification(&self, code: &str) -> Url {
|
||||||
self.base
|
self.base
|
||||||
.join("verify")
|
.join("verify/")
|
||||||
.expect("build URL")
|
.expect("build URL")
|
||||||
.join(code)
|
.join(code)
|
||||||
.expect("build URL")
|
.expect("build URL")
|
||||||
@@ -99,3 +104,18 @@ pub fn url_builder(
|
|||||||
let builder: UrlBuilder = config.into();
|
let builder: UrlBuilder = config.into();
|
||||||
warp::any().map(move || builder.clone())
|
warp::any().map(move || builder.clone())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn build_email_verification_url() {
|
||||||
|
let base = Url::parse("https://example.com/").unwrap();
|
||||||
|
let builder = UrlBuilder::new(base);
|
||||||
|
assert_eq!(
|
||||||
|
builder.email_verification("123456abcdef").as_str(),
|
||||||
|
"https://example.com/verify/123456abcdef"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user