mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
Merge branch 'feat-save-certs' into post-apns-cert
This commit is contained in:
commit
333e733ab3
3 changed files with 17 additions and 4 deletions
|
|
@ -173,12 +173,12 @@ func GetSignedAPNSCSRNoEmail(client *http.Client, csr *x509.CertificateRequest)
|
|||
|
||||
req, err := http.NewRequest(http.MethodPost, u, bytes.NewReader(b))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("creating csr signing request for fleetdm api: %w", err)
|
||||
}
|
||||
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("sending csr signing request to fleetdm api: %w", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
|
|
@ -189,7 +189,7 @@ func GetSignedAPNSCSRNoEmail(client *http.Client, csr *x509.CertificateRequest)
|
|||
|
||||
var csrResp WebsiteResponse
|
||||
if err := json.Unmarshal(respBytes, &csrResp); err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("unmarshalling signed csr response from fleetdm api: %w", err)
|
||||
}
|
||||
|
||||
return csrResp.CSR, nil
|
||||
|
|
|
|||
|
|
@ -2137,7 +2137,7 @@ func getMDMAppleCSREndpoint(ctx context.Context, request interface{}, svc fleet.
|
|||
|
||||
func (svc *Service) GetMDMAppleCSR(ctx context.Context) ([]byte, error) {
|
||||
if err := svc.authz.Authorize(ctx, &fleet.AppleCSR{}, fleet.ActionWrite); err != nil {
|
||||
return nil, ctxerr.Wrap(ctx, err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
vc, ok := viewer.FromContext(ctx)
|
||||
|
|
|
|||
|
|
@ -60,6 +60,16 @@ func TestMDMAppleAuthorization(t *testing.T) {
|
|||
license := &fleet.LicenseInfo{Tier: fleet.TierPremium}
|
||||
svc, ctx := newTestService(t, ds, nil, nil, &TestServerOpts{License: license, SkipCreateTestUsers: true})
|
||||
|
||||
ds.GetMDMConfigAssetsByNameFunc = func(ctx context.Context, assetNames []fleet.MDMAssetName) ([]fleet.MDMConfigAsset, error) {
|
||||
return []fleet.MDMConfigAsset{}, nil
|
||||
}
|
||||
|
||||
ds.InsertMDMConfigAssetsFunc = func(ctx context.Context, assets []fleet.MDMConfigAsset) error { return nil }
|
||||
|
||||
ds.AppConfigFunc = func(ctx context.Context) (*fleet.AppConfig, error) {
|
||||
return &fleet.AppConfig{OrgInfo: fleet.OrgInfo{OrgName: "Nurv"}}, nil
|
||||
}
|
||||
|
||||
// use a custom implementation of checkAuthErr as the service call will fail
|
||||
// with a not found error (given that MDM is not really configured) in case
|
||||
// of success, and the package-wide checkAuthErr requires no error.
|
||||
|
|
@ -82,6 +92,9 @@ func TestMDMAppleAuthorization(t *testing.T) {
|
|||
_, err = svc.RequestMDMAppleCSR(ctx, "not-an-email", "")
|
||||
require.Error(t, err) // it *will* always fail, but not necessarily due to authorization
|
||||
checkAuthErr(t, shouldFailWithAuth, err)
|
||||
|
||||
_, err = svc.GetMDMAppleCSR(ctx)
|
||||
checkAuthErr(t, shouldFailWithAuth, err)
|
||||
}
|
||||
|
||||
// Only global admins can access the endpoints.
|
||||
|
|
|
|||
Loading…
Reference in a new issue