Решение - то, что я отметил, однако для более полного ответа я просто отправлю здесь.Вы должны будете передать Реферера с веб-сайта 1 на webapi.com/api.Однако вам не нужно передавать его в качестве параметра.
То, что вы можете сделать или, по крайней мере, я сделал, это передать его так же, как я использовал токен авторизации.Который ссылка @Romias предоставила в качестве решения также.Везде, где вы передаете Bearer: «ваш токен», вы просто добавляете другой заголовок, называемый Referrer: request.url.
Здесь request.url - website1.com.Теперь в моем коде у меня есть перехватчик, поэтому любой http-вызов, который сделан, перехватывается, и затем я добавляю токен-носитель, который выглядит примерно так в угловом 5. Ваши настройки могут отличаться.
export class JwtInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
if (temp && temp.access_token) {
request = request.clone({
setHeaders: {
Authorization: `Bearer ${temp.access_token}`
}
});
}
return next.handle(request);
}
}
ОттудаЯ просто добавил строку авторизации, чтобы она выглядела следующим образом.
Authorization: `Bearer ${currentUser.access_token}`, Referrer:request.url
Итак, вы можете видеть, что я добавил новый заголовок Referrer и установил его в URL.
Оттуда вы отправляетесь вapi и, как и связанный ответ, вы просто должны поместить этот код в свой метод api
public IHttpActionResult Get()
{
try
{
var temp = Request.Headers.Referrer == null ? "unknown" : Request.Headers.Referrer.AbsoluteUri;
return temp;
}
catch (Exception e)
{
ErrorLogService.SaveErrorLog(e, this.User.Identity.Name);
return InternalServerError();
}
}
И теперь у temp есть url website1.com.Затем вы можете использовать или отправить эту строку по своему усмотрению.
Надеюсь, это поможет.