小编myq*_* sh的帖子

如何使用 SAML SSO 保护 fastapi 中的 API

我正在编写一个 fastapi Web 应用程序,它使用 OKTA iDP 和 SAML 2.0 SSO 进行身份验证。我想在网络应用程序中保护我的 API。我知道 fastapi 仅具有基于 Oauth2/token 的 API 保护,而不是基于 cookie 或会话的保护。但是,在身份验证成功后,我们仅从 IDP 收到会话信息(会话索引)。如何使用此会话索引信息来保护 Web 应用程序中的 api?有什么方法可以将接收到的会话转换为令牌并将其保存在 fastapi 应用程序中以用于保护吗?或者请建议我其他方式?

from fastapi import FastAPI

app = FastAPI()


@app.login("/sso/login")
async def login():
    # got sessionindex from Okta IDP
    return session

@app.logout("/sso/logout")
async def logout():
    # delete session received from Okta IDP on logout
    return
    
@app.get_graph()               <----------------------
async def get_graph():
    # how can i protect this api. so that i can access only
    # on …
Run Code Online (Sandbox Code Playgroud)

single-sign-on saml-2.0 okta fastapi

6
推荐指数
0
解决办法
824
查看次数

如何重置 kubectl get pods 中的重启计数

如何在下面的 Kubernetes 命令输出中将 RESTART 计数重置为零。我知道统计数据保存在 etcd 中,但如何重置/删除数据?

/home/mytest>kubectl get pods -A -o wide
NAMESPACE              NAME                                                       READY   STATUS      RESTARTS   AGE     IP                NODE            NOMINATED NODE   READINESS GATES
default                load-generator                                             1/1     Running     2          3d21h   192.168.252.102   testnode   <none>           <none>
kube-system            calico-kube-controllers-65f8bc95db-ph48b                   1/1     Running     7          51d     192.168.252.80    testnode   <none>           <none>
kube-system            calico-node-tr8dr                                          1/1     Running     6          51d     10.61.62.152      testnode   <none>           <none>
kube-system            coredns-66bff467f8-lcn5z                                   1/1     Running     18         51d     192.168.252.116   testnode   <none>           <none>
kube-system            coredns-66bff467f8-tmgml                                   1/1     Running     17         51d     192.168.252.123   testnode   <none>           <none>
kube-system            etcd-testnode                                              1/1     Running     23 …
Run Code Online (Sandbox Code Playgroud)

etcd kubernetes

4
推荐指数
1
解决办法
5966
查看次数

如何在C中将客户端重新连接到不同的服务器IP而不打开新的套接字

是否可以使用 C 在客户端套接字程序中关闭旧服务器 IP 连接并将其连接到新服务器 IP?我的客户端程序通过 SCTP 连接与服务器连接,在某些情况下我想断开与旧服务器的连接并连接到新服务器而不打开新套接字?客户端代码:

connSock = socket (AF_INET, SOCK_STREAM, IPPROTO_SCTP);
if (connSock == -1)
{
      perror("socket()");
      exit(1);
}

struct sctp_paddrparams params;
len = sizeof(params);

memset(&params, 0, sizeof(params));
if (getsockopt(connSock, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, &params, &len)) {
       perror("getsockopt");
       exit(1);
}
        
// set client address
struct sockaddr_in localaddr;
localaddr.sin_family = AF_INET;
char* client_ip = get_our_ip();
localaddr.sin_addr.s_addr = inet_addr(client_ip) ;
localaddr.sin_port = 0; 
bind(connSock, (struct sockaddr *)&localaddr, sizeof(localaddr));

// set server address
bzero ((void *) &servaddr, sizeof (servaddr));
servaddr.sin_family = AF_INET; …
Run Code Online (Sandbox Code Playgroud)

c sockets

0
推荐指数
1
解决办法
107
查看次数

标签 统计

c ×1

etcd ×1

fastapi ×1

kubernetes ×1

okta ×1

saml-2.0 ×1

single-sign-on ×1

sockets ×1